Android将xml文件从资产复制到内部存储器

时间:2014-03-22 10:12:17

标签: android xml

您好我有一个xml文件,其中包含我将用于填充我的应用的数据。我需要能够读取/写入我认为不可能的文件,因为它成为资产文件夹中的静态资源。有没有办法在启动时将此文件复制到我可以这样使用它的位置?或者从本地资源读取和写入xml的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

试试这个..

是的,您在运行时无法在资源文件夹中文件。有关信息link1link2

您可以使用以下代码从资产复制到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"/>