我正在课堂上阅读一份文件。但是,当我编译它时,fileNotFound错误。 (不显示此类文件或目录)。我不明白为什么会这样,因为我的文件和我的程序在同一文件夹中。我也尝试将我的扩展名更改为.dat,但错误仍然显示。这是我的代码:
try {
BufferedReader reader = new BufferedReader(new FileReader("measurements.txt"));
String line = null;
while ((line = reader.readLine()) != null) {
.... // continues
}
}
catch (FileNotFoundException e) {
System.out.println("Error!\nFile not found.");
System.out.println(e);
}
catch(Exception e) {
System.out.println("Error ");
}
答案 0 :(得分:0)
您需要在以下行中提供文件的绝对路径。文件阅读器需要绝对路径来读取文件。
BufferedReader reader = new BufferedReader(new FileReader("measurements.txt"));
但是,从相对路径读取文件还有其他一些替代方法,例如,如果您在src / classes文件夹中创建了文件,那么您可以按如下方式读取该文件。
BufferedReader reader = new BufferedReader(
new InputStreamReader(
Level.class.getClassLoader().getResourceAsStream("measurements.txt")
)
);
答案 1 :(得分:0)
尝试提供类似于Windows C的绝对路径:/somefolder/measurements.txt或linux /home/user/measurements.txt
BufferedReader reader = new BufferedReader(new FileReader("/home/user/measurements.txt"));
它会起作用......
当你提供相对路径它应该工作但我怀疑你从你正在阅读的java文件和文件以外的目录运行你的程序。
答案 2 :(得分:0)
这是因为该文件没有阅读权限。转到文件属性并提供读/写权限 并确保提供文件的绝对路径
答案 3 :(得分:-1)
您是否需要编写完整路径或至少写入相对路径,而不仅仅是文件名?