2011-09-29 78 views
2

我可以访问放置在项目文件夹(例如“资产”)中的XML文件,以打开并从文件中读取数据。在Android项目中访问资产文件夹的方式是什么?

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder docBuilder = factory.newDocumentBuilder(); 
InputStream iS = this.getAssets().open("myFile.xml"); 
Document doc = docBuilder.parse(iS); 

但是,如果我想编辑文件,我找不到保存它的路径。

TransformerFactory transfac = TransformerFactory.newInstance(); 
      Transformer trans = transfac.newTransformer(); 
       //create string from xml tree 
       StringWriter sw = new StringWriter(); 
       StreamResult result = new StreamResult(sw); 
       DOMSource source = new DOMSource(doc); 
       trans.transform(source, result); 
       String xmlString = sw.toString(); 
       OutputStream f0; 
      byte buf[] = xmlString.getBytes(); 
      **f0 = new FileOutputStream("/assets/wines.xml");** 
      //f0 = new FileOutputStream("file:///assets/wines.xml"); 
      for(int i=0;i<buf .length;i++) { 
       f0.write(buf[i]); 
      } 
      f0.close(); 
      buf = null; 

我得到总是FileNotFoundException在行:

f0 = new FileOutputStream("/assets/wines.xml"); 

任何想法?谢谢!

回答

1

如果您要将edit or write文件更改为assets or raw folder。我想这是不可能的。 It cannot be done

+0

非常感谢! –

0

Bettery尝试将其保存到SD卡或内部存储

使用File sdDir = [Environment.getExternalStorageDirectory()][1];获得SD卡路径。

而且不要忘了给许可

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

问题解决!!! ,, –

+0

非常感谢你!!!! –

相关问题