我正在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。
答案 0 :(得分:1)
您可能需要检查http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String,int),尤其是有关MODE_APPEND的部分,而不是每次应用启动时清除所有内容。