读取以前由同一个应用程序编写的缓存文件

时间:2011-02-08 13:15:23

标签: android android-file

我正在使用以下代码写入文件:

File file = new File(getCacheDir(), "cachefile");
FileOutputStream fos = new FileOutputStream(file);
StringBuilder cachetext = new StringBuilder();
Iterator bri = brands.iterator();
Iterator bli = brand_id.iterator();
while(bli.hasNext()) {
    cachetext.append(bli.next() + "|" + bri.next() + System.getProperty("line.separator"));
}
fos.write(cachetext.toString().getBytes());
fos.close();

这很好用 - 没有错误,文件最终包含我希望它包含的内容。但是,当我通过openFileInput()读取它时,我得到一个异常,告诉我不允许路径分隔符

FileInputStream fis = openFileInput(getCacheDir() + "/cachefile");

足够公平,包含斜杠,但我还能如何指定要打开的文件的路径?当然,必须有办法做到这一点,但我无法通过谷歌找到答案(“阅读”,“缓存”和“文件”不是最常用的术语......)所以我想我会尝试人性化。提前谢谢!

1 个答案:

答案 0 :(得分:10)

你这样做的方式与创建输出文件的方式非常相似:

FileInputStream fis = new FileInputStream(new File(getCacheDir(), "cachefile"));