Java中的文件读取错误?
我试图从一个文件中读取数据,并将每一行输入ArrayList。我的文件与主java文件位于同一文件夹中。文件名中没有拼写错误。有人能帮我找出是什么问题吗Java中的文件读取错误?,java,arraylist,java.util.scanner,filereader,Java,Arraylist,Java.util.scanner,Filereader,我试图从一个文件中读取数据,并将每一行输入ArrayList。我的文件与主java文件位于同一文件夹中。文件名中没有拼写错误。有人能帮我找出是什么问题吗 Scanner in = new Scanner(new FileReader("lab02in.txt")); while(in.hasNextLine()) { String line = in.nextLine(); countries.add(line); } in.clo
Scanner in = new Scanner(new FileReader("lab02in.txt"));
while(in.hasNextLine())
{
String line = in.nextLine();
countries.add(line);
}
in.close();
System.out.println("Printing New list after adding from file");
displayCountries(countries);
我得到这个错误:
Exception in thread "main" java.io.FileNotFoundException: lab02in.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at java.io.FileReader.<init>(FileReader.java:58)
at lab2.Lab2.main(Lab2.java:50)
Java Result: 1
线程“main”java.io.FileNotFoundException:lab02in.txt中的异常(无此类文件或目录)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:146)
位于java.io.FileInputStream。(FileInputStream.java:101)
位于java.io.FileReader。(FileReader.java:58)
位于lab2.lab2.main(lab2.java:50)
Java结果:1
如果您正确运行Java程序,那么您当前的目录就是
lab2
上面的目录。然后声明该文件与Java源代码位于同一目录中。代码正在当前目录中查找,而不是源代码目录,因此找不到您的文件
请尝试以下操作之一:
lab2
上方)。这是首选,因为源代码和资源不应该混合使用。或FileReader
时,将lab2/
前置到相对路径名VM的当前工作目录与文件所在的目录不同。如果文件
lab02in.txt
是静态的,并且相对于类(即在同一目录中),则可以(并且应该)使用getResourceAsStream
加载它。否则您需要指定路径。检查System.out.println(System.getProperty(“user.dir”);
这会让您知道它在哪里查找文件。尝试使用完整路径,并记住将“\”替换为“\ \”。错误在于应用程序找不到您的文件或无法从中读取。您是否检查过这两个条件是否都不禁止您的应用程序成功执行?我只是将.txt文件移动到主目录中,如选项1所示。它是有效的。非常感谢。
Scanner in = new Scanner(new FileReader("lab02/lab02in.txt"));