Android丢失了应用程序数据(/data/data/com.app.app/files)

时间:2014-03-11 02:24:44

标签: java android file android-file

我的应用有问题。

以下列方式保存数据:

private void saveUserData(String data2) {
    try 
    {
        FileOutputStream fos = openFileOutput("config.txt", Context.MODE_PRIVATE);
        fos.write(data2.getBytes());
        fos.close();
    } catch (Exception e) {
        returnException(e.toString());
    }
}

并阅读:

private void readUserData() throws IOException {    
    FileInputStream fIn = openFileInput("config.txt");
    InputStreamReader isr = new InputStreamReader(fIn);

    BufferedReader reader = new BufferedReader(isr);
    String line1 = "";

    for(int i = 0; i < 2; i++)
    {
        try
        {
            line1 = reader.readLine();

            switch (i) {
            case 0:
                login = line1;
                login_editText.setText(line1);
                break;
            case 1:
                passmd5 = line1;
                break;
            }
        }

        catch(Exception e)
        {
        }
    }

    returnException("trwa logowanie..", false);

    if(checkUserData(login, passmd5))
    {
        returnException("zalogowano!", false);
        whoLogged_label.setText("tak ("+ login +")");
    }
    else 
    {
        returnException("błędne dane użytkownika!", false);
        whoLogged_label.setText("nie");
    }

    isr.close();
    fIn.close();
}

手机每小时重启一次,并且会自动删除该文件。为什么文件消失了?我无法诊断原因。 重启后文件为空。

1 个答案:

答案 0 :(得分:0)

假设您在编写文件时没有收到异常,我在代码中看不到任何明显的异常。 openFileOutput()将文件写入应用程序的专用内部存储目录,每当卸载应用程序时,该目录都会被清除。你确定你的重启/重新运行过程中没有你正在进行应用程序卸载或数据清除吗?