Android将文本文件写入内部存储

时间:2016-01-07 15:26:02

标签: java android

使用模拟器我能够将文本文件写入/ data / local但是当我使用我的设备时,对于相同的路径/ data / local我得到Permission denied。谁能告诉我哪个内部存储路径是可读写的,我可以在那里写我的文件。如果我能在不使用设备的情况下实现这一目标会更好。

2 个答案:

答案 0 :(得分:3)

从Android文档中查看this guide

调用getFilesDir将为您应用的内部目录返回File个对象。

您可以使用它在目录中编写新文件,如

File file = new File(context.getFilesDir(), fileName);

以下是如何使用getFilesDir将文字写入文件的示例答案:https://stackoverflow.com/a/9306962/2278598

或者,您可以使用openFileOutput,就像这样

String fileName = "yourFileName";
String textToWrite = "This is some text!";
FileOutputStream outputStream;

try {
  outputStream = openFileOutput(fileName , Context.MODE_PRIVATE);
  outputStream.write(textToWrite.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}

答案 1 :(得分:2)

Android应用程序是彼此隔离的,因此您的应用程序在内部存储中有一个专用文件夹可以读/写。

您可以通过

访问它
File path = Environment.getDataDirectory();

因设备不同而不同。

在应用程序外部(例如来自shell或文件浏览器),您甚至无法读取应用程序的私有数据文件夹,您需要使用root设备(作为模拟器)来执行此操作。如果您希望文件具有世界可读性,请将其放在外部存储中。