即使文件存在,FileNotFoundException也是如此
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”(作为另一个任务/问题),代码也可以工作。
任何想法将不胜感激!
该文件不存在。 如果它不会抛出exception:-)
可能的罪魁祸首是工作目录与预期的不同 (即, 当前工作目录不包含具有该名称的文件)。 这可以通过使用文件的绝对路径并观察它是否正确加载来轻松validation。
或者,要查找当前目录:
String cwd = new File(".").getAbsolutePath();
快乐的编码。
在运行Java应用程序之前,Eclipse默认(仅)将类文件复制到bin\classes
目录中(除非将其更改为另一个目录)。 出于所有实际目的,此目录与输入文件所在的src
目录不同。 您必须在Eclipse中配置项目的构建属性,以将输入文件(或.txt类型的所有文件)复制到输出目录。 这将使文件在类文件所在的同一目录中可用,从而使文件可以读取。
Eclipse cwd是Project文件夹,比bin和src高一级。
Directory of ...eclipse-workspace\File IO 05/30/2018 07:52 PM bin 05/30/2018 07:48 PM 148 sample.txt 05/30/2018 07:46 PM src testFile = new File("Sample.txt"); System.out.println(testFile.getAbsolutePath());
- 文件存在时具有所有权限的FileNotFoundException
- 文件存在时抛出FileNotFoundException
- 使用可执行Jar时找不到Spring-Boot资源
- 作为jar运行时FileNotFoundException
- Java – 用于读取文本文件的FilenotfoundException
- FileNotFoundException,该文件存在Java
- 引起:java.io.FileNotFoundException:无法打开ServletContext资源
- 从内部存储获取映像时出现FileNotFoundException
- 在java中加载freemarker模板时出现FileNotFoundException