读取同一应用程序先前写入的缓存文件

发布于 2024-10-16 17:12:02 字数 736 浏览 5 评论 0原文

我正在使用下面的代码写入一个文件:

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");

,其中包含斜杠,但是我还能如何指定要打开的文件的路径呢?当然,一定有办法做到这一点,但我无法通过谷歌找到答案(“读取”、“缓存”和“文件”不是最利基的术语......)所以我想我会尝试人性化的接触。提前致谢!

I'm writing to a file using the code below:

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();

This works fine - no errors and the file ends up containing what I expect it to contain. When I go to read it via openFileInput(), however, I get an exception telling me that path separators are not allowed

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

Fair enough, that contains a slash, but how else can I specify the path of the file I want to open? There must be a way to do this, of course, but I can't find answers via Google ('read', 'cache' and 'file' not being the most niche of terms ...) so I thought I'd try the human touch. Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮光沉寂 2024-10-23 17:12:03

您的操作方式与创建输出文件的方式几乎相同:

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

you do it pretty much the same way you created the output file:

FileInputStream fis = new FileInputStream(new File(getCacheDir(), "cachefile"));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文