无法获取/ data / data / my_app / files的路径

时间:2016-05-27 06:33:50

标签: android file file-management internal-storage

我正在使用此代码在/ 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创建的文件是否仍然存在?

我希望我提供足够的信息让你们回答(:

1 个答案:

答案 0 :(得分:1)

我仍然没有找到针对此特定问题的解决方案。 相反,我现在正在使用SQLite,所以我不必担心这些事情。