缓存android中的文件名

时间:2015-12-16 16:24:27

标签: android

我正在尝试将文件0_0.xml保存在缓存中。所以我这样做

String fileName = "0_0.xml"
File file = new File(context.getCacheDir(), fileName);
if (file.exists()) {
    ...
} else {
    file = File.createTempFile(fileName, null, context.getCacheDir());
    FileOutputStream fos = new FileOutputStream(file);
    try {
        fos.write("some_string".getBytes());
    } finally {
        fos.close();
    }
}

我已经多次运行我的应用程序并且想知道它总是找不到这个文件(如果不是file.exists()我像上面描述的那样写它)所以它每次都创建了新文件。之后我列出了缓存中的所有文件并得到了类似的内容:

cached files

问题是为什么我的文件更改了它的名称以及如何访问它?

1 个答案:

答案 0 :(得分:2)

您致电File.createTempFile创建该文件。 createTempFile()将为您的临时文件计算一个新的唯一名称,以避免与其他需要临时文件的操作发生冲突。

如果您想保留文件并再次找到它,请不要使用createTempFile()生成新的唯一名称。而是使用您在检查时使用的相同对象(file)来查看它是否存在。