您好我有一个xml文件,其中包含我将用于填充我的应用的数据。我需要能够读取/写入我认为不可能的文件,因为它成为资产文件夹中的静态资源。有没有办法在启动时将此文件复制到我可以这样使用它的位置?或者从本地资源读取和写入xml的最佳方法是什么?
答案 0 :(得分:0)
试试这个..
是的,您在运行时无法在资源文件夹中写文件。有关信息link1,link2
您可以使用以下代码从资产复制到SD卡,然后您可以编写它。
AssetManager assetManager = this.getAssets();
InputStream in = assetManager.open("yourxmlfile.xml");
File SDCardRoot = new File(Environment.getExternalStorageDirectory().toString()+"/Folder");
SDCardRoot.mkdirs();
File file = new File(SDCardRoot,"hello.xml");
FileOutputStream fileOutput = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int bufferLength = 0;
while((bufferLength = in.read(buffer)) > 0)
{
fileOutput.write(buffer, 0, bufferLength);
}
fileOutput.close();
并且不要忘记在清单中添加读/写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>