我的应用程序有问题。

通过以下方式保存数据:

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();
}


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

最佳答案

假设您在编写文件时没有遇到异常,那么您的代码中看不到任何明显的东西。 openFileOutput()将文件写入应用程序的专用内部存储目录,该目录在卸载应用程序时将清除。您确定重新启动/重新运行过程中没有正在进行应用程序卸载或数据清除的工作吗?

07-24 19:01
查看更多