java - java - 为什么在java中使用FileReader时找不到我的文件
问题描述
我正在尝试查找我保存在 android studio 中的文件。我已经尝试了一切:放置完整目录,将文件放在该目录的新文件夹中,使用file.getAbsolutePath()
,在之前声明文件或将文件直接放入阅读器(BufferedReader r = new BufferedReader(new FileReader("history.txt"));
这是代码:
File file = new File("Extra Files/history.txt");
BufferedReader r = new BufferedReader(new FileReader(file.getAbsolutePath()));
String scores = r.readLine();
r.close();
无论我尝试什么,它似乎都没有其他想法,你能不能在 android studio 中使用这样的文本文件?
public void write_score(int ns) throws IOException {
File file = new File(context.getFilesDir(), "history.txt");
BufferedWriter w = new BufferedWriter(new FileWriter(file));
w.append(String.valueOf(ns)).append(",");
w.close();
}
解决方案
如果您只需要从文件中读取,您可以将其放在 assets 或 res/raw 文件夹context.getAssets().open("filename") or context.getResources().openRawResource(R.raw.resourceName)
中,然后使用获取输入流从它们中读取,然后使用BufferedReader(new InputStreamReader(fileStream))
获取阅读器。如果没有,这篇文章应该有答案让你从不同的文件夹中阅读。
但是,如果您想写入它,一种方法是使用特定于应用程序的内部文件,这些文件可以通过以下方式访问
File file = new File(context.getFilesDir(), filename);
但是您首先需要使用创建 history.txt 文件file.createNewFile()
并用您想要的任何内容填充它,因为在您第一次尝试访问它时它并不存在。在那之后它应该没问题。我希望这有帮助。
编辑:
这是一些读取/写入内部文件的示例代码
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);//Or use Log.d(line);
}
} catch (IOException e) {
e.printStackTrace();
}
和
public void write_score(int ns) throws IOException {
File file = new File(context.getFilesDir(), "history.txt");
BufferedWriter w = new BufferedWriter(new FileWriter(file, true));//true makes it append
w.write(String.valueOf(ns) + ",");
w.close();
}
推荐阅读
- asp.net-core - Blazor:实现 404 未找到页面
- sql - 选择至少具有与合同要求相同的批准代码的供应商
- python - group_by SqlAlchemy 的问题
- javascript - XLSX 客户端从后端 api 响应中保存:二进制字符串、应用程序/八位字节流
- python-3.x - 用计数时间代替 t=0.000000
- python - 为什么安装python3会在mac上默认python(python 2.7)安装文件夹的位置创建一个快捷方式?
- mongodb - 从不同的组过滤器返回多个值 - Mongodb
- sdk - pragma solidity - jpmorganchase cakeshop 中的编译错误
- python - 来自 pd.read_html DF[0] 格式的列表数据帧的连接列表
- azure - 包含的用户权限