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”(这是另一个任务/问题),代码也可以工作。
任何想法都将受到赞赏!
答案 0 :(得分:8)
该文件不存在。如果它不会抛出异常: - )
可能的罪魁祸首是工作目录与预期的不同(即当前工作目录不包含具有该名称的文件)。这可以通过使用文件的绝对路径并观察它是否正确加载来轻松验证。
或者,找到当前目录:
String cwd = new File(".").getAbsolutePath();
快乐的编码。
答案 1 :(得分:2)
默认情况下,Eclipse(仅)将类文件复制到bin\classes
目录中(除非已将其更改为另一个目录),然后再运行Java应用程序。出于所有实际目的,此目录与输入文件所在的src
目录不同。您必须在Eclipse中配置项目的构建属性,以将输入文件(或.txt类型的所有文件)复制到输出目录。这将使文件在类文件所在的同一目录中可用,从而可以读取文件。
答案 2 :(得分: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());