Когда я уничтожаю свое приложение более 2 раз, оно не читает данные из txt файла, данные теряются - PullRequest
0 голосов
/ 01 марта 2020

У меня есть приложение, которое сохраняет строки в текстовый файл при закрытии приложения и снова считывает их при запуске приложения. Если я уничтожу свое приложение 1 раз, данные снова появятся, а если я уничтожу его 2 раза, они появятся снова. Однако, когда я уничтожу его в третий раз, все данные будут потеряны.

Я пробовал все, но это просто не работает, я пытался использовать onsavedinstancestate () et c, но я потерян .. Если кто-нибудь может указать мне правильное направление, я был бы очень признателен!

Мои методы readFromFile () и writeToFile ():

private void writeToFile(String data, Context context) {
    try {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("start.txt", Context.MODE_PRIVATE));
        outputStreamWriter.write(data);
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    }
}

private String readFromFile(Context context) {

    String ret = "";

    try {
        InputStream inputStream = context.openFileInput("start.txt");

        if ( inputStream != null ) {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String receiveString;
            StringBuilder stringBuilder = new StringBuilder();

            while ( (receiveString = bufferedReader.readLine()) != null ) {
                stringBuilder.append(receiveString);
            }

            inputStream.close();
            ret = stringBuilder.toString();
        }
    }
    catch (FileNotFoundException e) {
        Log.e("login activity", "File not found: " + e.toString());
    } catch (IOException e) {
        Log.e("login activity", "Can not read file: " + e.toString());
    }
...