9

我正在使用 Eclipse 来编译和运行我的 java 代码。

这是我得到的错误。

Exception in thread "main" java.io.FileNotFoundException: file.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.util.Scanner.<init>(Unknown Source)
    at helloworld.main(helloworld.java:9)

这是我的代码

import java.io.File;
import java.io.IOException;
import java.util.Scanner;


public class helloworld {

    public static void main(String[] args) throws IOException {
        Scanner KB = new Scanner(new File("file.txt"));
        while (KB.hasNext()) {
            String line = KB.nextLine();
            System.out.println(line);
        }

    }
}

File.txt
我在项目的同一文件夹中创建了 file.txt。

4

4 回答 4

24

您的文件应该直接在项目文件夹下,而不是在任何其他子文件夹中。

所以,如果你的项目文件夹是MyProject,它的文件夹结构(虽然不完整)应该是这样的: -

MyProject +- src +
          |      |
          |      +-- Your source file
          +- file.txt

它不应该是under src文件夹。


或者,您可以提供以下相对于项目文件夹的路径以在以下位置搜索文件src folder:-

new File("src/file.txt");
于 2012-11-27T20:20:08.877 回答
6

尝试将完整路径传递给文件,例如:

new File("/usr/home/mogli/file.txt")

或者,如果您在 Windows 中:

new File("C:/Users/mogli/docs/file.txt")
于 2012-11-27T20:20:39.900 回答
2

遵循@rohit Jains 方法或提供文件的绝对路径,例如:

 Scanner KB = new Scanner(new File("C:/JsfProjects/Project/file1.txt"));
            while (KB.hasNext()) {
                String line = KB.nextLine();
                System.out.println(line);
            }
于 2012-11-27T20:22:07.270 回答
1

在 Windows 中尝试给出这样的真实路径

"C:\\Users\\mogli\\docs\\file.txt"

它对我有用。

于 2016-04-02T04:45:14.370 回答