我是 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/