Android读写应用自己的文件,不需要声明权限。
写文件
void writeFile(String filename, String s) {
try {
FileOutputStream FOS = openFileOutput(filename, Context.MODE_PRIVATE);
FOS.write(s.getBytes());
FOS.close();
} catch (Exception e) {
Log.e(Thread.currentThread().getStackTrace()[2] + "", e.toString());
}
}
读文件
String readFile(String filename) {
String s = "";
try {
FileInputStream FIS = new FileInputStream(filename);
int length = FIS.available();
byte[] bytes = new byte[length];
FIS.read(bytes);
s = new String(bytes);
FIS.close();
} catch (Exception e) {
Log.e(Thread.currentThread().getStackTrace()[2] + "", e.toString());
}
return s;
}
Android Studio 的 Device File Explorer 查看,写文件成功,读取文件报错:
java.io.FileNotFoundException: cache: open failed: EACCES (Permission denied)
百思不得其解,最后终于发现了问题了:
FileInputStream FIS = new FileInputStream(filename); 改成 FileInputStream FIS = openFileInput(filename);
这是谁把我带坑里去了?!