1
public StormAnalysis(){
    try {       
        fScanner = new Scanner(new File("tracks1949to2010_epa.txt"));
        while(fScanner.hasNextLine()){
            System.out.println(fScanner.nextLine());
        }
    } catch (FileNotFoundException e) {
        System.out.println("File not found. Try placing the tracks1949to2010_epa.txt in the same folder as StormAnalysis.java");    
        e.printStackTrace();
    }

}

以上是我的代码(我也有错误的图像:http: //folk.uio.no/arnabkd/test/images/error-code-task.jpg

如您所见,txt 文件与 StormAnalysis.java 文件位于同一文件夹中。此外,如果我将文件路径更改为“weather.dat”(作为另一个任务/问题给出),该代码将起作用。

任何想法将不胜感激!

4

3 回答 3

8

该文件不存在。如果是它就不会抛出异常:-)

可能的罪魁祸首是工作目录与预期的不同(即,当前工作目录不包含具有该名称的文件)。这可以通过使用文件的绝对路径并观察它是否正确加载来简单地验证。

或者,要查找当前目录:

String cwd = new File(".").getAbsolutePath();

快乐编码。

于 2011-06-01T06:40:30.263 回答
2

在运行 Java 应用程序之前, Eclipse 将(仅)类文件bin\classes默认复制到一个目录中(除非已将其更改为另一个目录)。src出于所有实际目的,此目录与输入文件所在的目录不同。您必须在 Eclipse 中配置项目的构建属性,以将输入文件(或所有 .txt 类型的文件)也复制到输出目录。这将使该文件在类文件所在的同一目录中可用,从而可以读取该文件。

于 2011-06-01T06:43:57.237 回答
0

Eclipse cwd 是 Project 文件夹,在 bin 和 src 之上一层。

Directory of ...eclipse-workspace\File IO
05/30/2018  07:52 PM    <DIR>          bin
05/30/2018  07:48 PM               148 sample.txt
05/30/2018  07:46 PM    <DIR>          src

testFile = new File("Sample.txt");
System.out.println(testFile.getAbsolutePath());
于 2018-05-31T03:14:18.837 回答