系统找不到该文件

时间:2014-01-15 19:44:13

标签: java file-io

我正在使用Scanner库来构建文件阅读器,我已经按照库中的大纲进行了编译并且编译得很好,但是当我运行它时,我得到一个FileNotFoundException:text.txt(系统找不到指定的文件) 。该文件与.java文件位于同一文件夹中,但它仍然表示它不存在。

以下是我有任何帮助的代码会很棒。

import java.util.*;
import java.io.*;

class Conjecture {

public static void main(String[] args) throws IOException {

    Scanner scanner = null;

    try {
        scanner = new Scanner(new BufferedReader(new FileReader("text.txt")));

        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
    } finally {
        if (scanner != null) {
            scanner.close();
            System.out.println("done");
        }
    }
}

}

3 个答案:

答案 0 :(得分:1)

您的文件需要位于运行时JVM的工作目录中。如果您不确定,可以执行以下操作:

File file = new File(".");
System.out.println(file.getAbsolutePath());

答案 1 :(得分:1)

您需要将文件与.class放在同一目录中,而不是.java。从IDE编译时,.class文件通常放在构建目录中。使用绝对路径也可以像Kevin建议的那样工作,或者将文件作为资源添加到jar文件并将其作为资源加载。

答案 2 :(得分:0)

出于调试目的,打印文件的canonical path

File file = new new File("text.txt");
System.out.println(file.getCanonicalPath());

这样您就可以看到文件的位置