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

Ric*_*ard 5 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();
Run Code Online (Sandbox Code Playgroud)

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

FileInputStream fis = openFileInput(getCacheDir() + "/cachefile");
Run Code Online (Sandbox Code Playgroud)

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

小智 10

你这样做就像创建输出文件一样:

FileInputStream fis = new FileInputStream(new File(getCacheDir(), "cachefile"));
Run Code Online (Sandbox Code Playgroud)