我在主要活动中创建了一个文件:
File file = new File("library.xml");
file.createNewFile();
FileOutputStream libXml = openFileOutput("library.xml", Context.MODE_PRIVATE);
libXml.write("[Some XML Data]");
现在我在一个名为DataSource
的类中创建了一个 static 方法,在这个类中,我试图从我刚创建的文件中读取:
File file = new File("library.xml");
Document data = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
但它在第二行引发了一个异常,说找不到文件......! 可能有什么不对?
答案 0 :(得分:0)
创建一个存储在内部存储器/存储器中的文件,尝试下面的代码
写入,
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
阅读,
FileInputStream fis = openFileInput(FILENAME);
int value=fis.read()
fis.close();
看看android Internal Storage
答案 1 :(得分:0)
在问题中使用上面的代码甚至没有创建文件,并引发权限拒绝异常,因为它试图在android的根文件夹中创建不允许的文件。所以我只是将上面的行重写为:
File file = new File(getFilesDir(),"library.xml");
用于写入然后用于读取。它在/data/data/com.myapplication/files/
文件夹中创建了我的文件。