我已经尝试了几个小时了,我似乎无法理解为什么或如何获得FileNotFound
例外。
我正在尝试使用一个名为rating.txt
的文件,我需要读取和写入
我的目录如下所示:
我的代码就是这个
public String getRating()
{
String re = "";
try {
FileReader fileReader = new
FileReader("app/src/main/files/rating.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
re = bufferedReader.readLine();
bufferedReader.close();
}
catch(IOException e)
{
e.printStackTrace();
System.out.println("rating file not found while reading");
}
return re;
}
答案 0 :(得分:0)
请使用以下方法检查您的工作目录:
System.out.println(System.getProperty("user.dir"));
我认为您的目录从app
开始,因此您应该将路径更改为src/main/files/rating.txt
答案 1 :(得分:0)
我不知道您是如何尝试运行代码的。但正如我所看到的那样,您正在使用IntelliJ IDEA和IntelliJ,当您尝试运行一段代码时,正在运行的应用程序的当前工作目录是您的模块的输出文件夹。在您的情况下,当您使用gradle时,所有类都将编译到build
文件夹中。因此,您应首先找到文件放在build
文件夹下的位置,然后更改代码,以便它尝试查找相对于build
文件夹的文件。
重要提示:如果您想在项目中使用某种文本文件,按照惯例,您应将其放在resources
文件夹旁边的java
文件夹中。 java
插件会自动查找此类文件夹并将其内容复制到build
文件夹。
所以你的项目结构应该是这样的:
app
|_ build
|_ src
|_ java
|_ resources
|_ files <- put your txt file here
然后在您的代码中,您可以这样阅读:
FileReader fileReader = new
FileReader("files/rating.txt");