次のように、Android アプリケーションでファイルを作成しています。
HEADINGSTRING = new String("Android Debugging " + "\n"
"XML test Debugging");
}
public void setUpLogging(Context context){
Log.d("LOGGING", "Setting up logging.....");
try { // catches IOException below
FileOutputStream fOut = context.openFileOutput(FILE_NAME,Context.MODE_APPEND);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
// Write the string to the file
osw.write(HEADINGSTRING);
/* ensure that everything is
* really written out and close */
osw.flush();
osw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally{
Log.d("LOGGING", "Finished logging setup.....");
}
}
そして、アプリの実行中に次のようにファイルに書き込みます。
public void addToLog(File file, String text) throws IOException {
BufferedWriter bw = new BufferedWriter (new FileWriter(file, true));
bw.write ("\n" + text);
bw.newLine();
bw.flush();
bw.close();
}
これは正常に機能しますが、アプリを閉じるとファイルが削除され、アプリを再度実行すると、書き込んだすべての情報が失われます。
アプリを閉じた後もファイルが保持されるようにするにはどうすればよいですか?
アップデート:
MODE_PRIVATE を MODE_APPEND に変更し、問題は解決しました。Skirmish に感謝します。