为什么在 java 中使用 FileReader 时找不到我的文件
Why is my file not found when using a FileReader in java
我正在尝试查找保存在 android studio 中的文件。我已经尝试了所有方法:放入完整目录、将文件放入该目录的新文件夹中、使用 file.getAbsolutePath()
、在之前声明文件或将文件直接放入 reader(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();
}
如果你只需要从文件中读取,你可以把它放在资产或 res/raw 文件夹中,然后使用 context.getAssets().open("filename") or context.getResources().openRawResource(R.raw.resourceName)
从中读取以获取输入流,然后使用 BufferedReader(new InputStreamReader(fileStream))
得到 reader 。如果没有,this post,应该有答案让你从不同的文件夹读取。
不过,如果你想写入它,一种方法是使用 app-specific internal files 可以通过
访问
File file = new File(context.getFilesDir(), filename);
但是您首先需要使用 file.createNewFile()
创建 history.txt 文件,并用您想要的任何内容填充它,因为它在您第一次尝试访问它时还不存在。在那之后它应该没问题。希望对您有所帮助。
编辑:
这里是read/write到内部文件
的一些示例代码
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();
}
我正在尝试查找保存在 android studio 中的文件。我已经尝试了所有方法:放入完整目录、将文件放入该目录的新文件夹中、使用 file.getAbsolutePath()
、在之前声明文件或将文件直接放入 reader(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();
}
如果你只需要从文件中读取,你可以把它放在资产或 res/raw 文件夹中,然后使用 context.getAssets().open("filename") or context.getResources().openRawResource(R.raw.resourceName)
从中读取以获取输入流,然后使用 BufferedReader(new InputStreamReader(fileStream))
得到 reader 。如果没有,this post,应该有答案让你从不同的文件夹读取。
不过,如果你想写入它,一种方法是使用 app-specific internal files 可以通过
访问File file = new File(context.getFilesDir(), filename);
但是您首先需要使用 file.createNewFile()
创建 history.txt 文件,并用您想要的任何内容填充它,因为它在您第一次尝试访问它时还不存在。在那之后它应该没问题。希望对您有所帮助。
编辑:
这里是read/write到内部文件
的一些示例代码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();
}