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のデバイスファイルエクスプローラービュー、ファイルの正常な書き込み、ファイルエラーの読み取り:
java.io.FileNotFoundException:キャッシュ:オープンに失敗しました:EACCES(権限が拒否されました)
私は戸惑い、ついに問題を見つけました:
FileInputStream FIS = new FileInputStream(filename); 改成 FileInputStream FIS = openFileInput(filename);
私をピットに連れて行ったのは誰ですか?!