我有一个android项目,我正在使用一个自定义的.properties文件,我将其存储在一个数据包中,并与我可以访问它的类一起存储。当我运行程序时,我需要更改.properties文件的某些值,但我无法访问它,因为我不知道它存储在我的设备中的位置。
我考虑过使用InputStream
访问它并使用OutputStream
更改java中的值,但在InputStream
中getResourceAsStream
方法中有OutputStream
方法{1}}没有相反的方法来执行我想要的操作。
我在互联网上搜索过,但我发现的唯一解决方案是将我的.properties文件移动到资源目录并使用AssetsManager
访问它,我不想这样做!
我是android的新手,所以任何帮助都会受到欢迎!!
答案 0 :(得分:0)
您可以将它放在外部存储器的目录中,然后像java.io.File一样读取它:
File myProperties = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "myDir/myPorperties.properties");
显然,您可以将默认属性文件放在资源中,并在第一个应用程序运行时从资产复制到外部存储。
注意:您需要在清单中使用此权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />