我正在使用此代码在/ data / data / my_app / files中存储少量数据的应用程序:
private void buildFileFromPreset(String fileName) {
fileName = fileName.toLowerCase();
StandardData data = StandardData.getInstance();
String[] list = data.getDataByName(fileName);
FileOutputStream fos = null;
try {
fos = openFileOutput(fileName, Context.MODE_PRIVATE);
PrintWriter writer = new PrintWriter(fos);
for (int i = 0; i < list.length; i++) {
writer.println(list[i]);
}
writer.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
当应用程序启动时,一切正常,在主活动的onCreate()函数中,我想检查上次创建的文件是否仍然存在:
private String getAppFilesDir() {
ContextWrapper c = new ContextWrapper(this);
return c.getFilesDir().toString();
}
返回类似的内容:
/data/user/0/my_app/files
我读过一些较旧的帖子(2012),建议这种方法必须有效,但事实并非如此,可能是因为软糖。
所以我的问题: 如何检查我在上一个会话中使用FileOutputStream和PrintWriter创建的文件是否仍然存在?
我希望我提供足够的信息让你们回答(:
答案 0 :(得分:1)
我仍然没有找到针对此特定问题的解决方案。 相反,我现在正在使用SQLite,所以我不必担心这些事情。