java - 重新启动应用程序后,Android 内部文件似乎消失了

标签 java android

我是 Android 新手,目前正在尝试在我正在学习的一个小“游戏”应用程序中保存一些文件,但是这些文件似乎只会持续到应用程序关闭为止。当我运行时:

file.exists()
file.isFile()

或任何类似的方法,当应用程序重新启动时,它们总是返回 false。

这是我在网上找到的保存文件的方法:

 public void writeToFile(String data, String filePath, Context context){
    File file = new File(context.getFilesDir(), filePath);

    if(!file.exists()){
        try{
            file.createNewFile();
        }catch(IOException e) {
            e.printStackTrace();
            Log.e("Exception", "File couldn't be created");
        }
    }

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

我一直在谷歌上搜索很多试图找到解决方案,但没有一个有效。当应用程序运行时它似乎可以工作,因为我可以写入和读取文件,但是在应用程序重新启动时,它找不到文件。 (file.exists() 返回 false)

最佳答案

我只花了一个小时跟踪这个相同的错误,结果发现这是因为项目属性中的“部署”下设置了“清除用户数据”标志。我将适用于 Android 的 NVIDIA CodeWorks 与 Visual Studio 2017 结合使用。

关于java - 重新启动应用程序后,Android 内部文件似乎消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38574312/

相关文章:

java - 如何使用阶乘编写方程

java - 在java中验证日期

android - 改造:使用 json 进行多部分

java - 更改 Android 中按钮的位置

android - 在图像阅读器中将帧从 YUV_420_888 格式错误转换为 NV21

android - 在特定时间段后记录 FirebaseAnalytics 事件

java - Angularjs 将文件多部分 FormData 中的空值传递给 Spring MVC

java - 如何在Eclipse中选择一个单词的所有出现

java - java中的四舍五入结果

java - 分配给 Put 参数时 Android 渲染脚本错误