Android - Сохранять файл при закрытии приложения - PullRequest
4 голосов
/ 14 июня 2010

Я создаю файл в своем приложении для 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.

1 Ответ

1 голос
/ 14 июня 2010

Возможно, вы захотите проверить http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String, int), особенно часть о MODE_APPEND, а не очищать все при каждом запуске приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...