eclipse找不到文件

好的,所以我搜索了这个网站和其他一些网站来寻找这个问题的答案,并尝试了所有的建议。没有任何效果,它一直在抛出 File not found exception

File inFile = new File("PhoneRecords.txt");
String path = inFile.getAbsolutePath();
 try {
    System.setIn(new FileInputStream(path));
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
Scanner sc = new Scanner(System.in);

在此之后,它尝试以下面的方法使用扫描仪。

public static PhoneCall readNextPhoneCall(Scanner sc){
  return new PhoneCall (sc.nextDouble(), sc.nextInt());
}

该文本文件位于我正在使用的同一目录中,并且我再次确保在我的代码中正确命名它。请帮忙。

stack overflow Can't find files with eclipse
原文答案

答案:

作者头像

使用相对路径创建 File 总是有风险的。要么使用像 /my/absolute/path 这样的绝对路径,要么使用不同的方法来获取你的文件。

另外,为什么不使用这个构造函数: Scanner(File source)

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#Scanner(java.io.File)

或者更好,使用这个: Scanner(InputStream source)

然后,使用 getResourceAsStream 正确检索您的文件

InputStream is = getClass().getClassLoader().getResourceAsStream("PhoneRecords.txt");
Scanner sc = new Scanner(is);
作者头像

试着把你的文件放在这里。

--->bin
--->src
--->PhoneRecords.txt

或指定文件的位置。例如,

String path = "C:MyFilesPhoneRecords.txt";
File inFile = new File(path);
作者头像

您是否在 Eclipse 控制台中启用了输入?之前从 Eclipse 控制台使用时,扫描仪给我带来了一些问题..

enter image description here

来源: https://stackoverflow.com/a/22471175/441907

作者头像

如果文件放在 src 下,请尝试从类路径加载

Scanner scanner=new Scanner(YourClass.class.getResourceAsStream("/package/...pathtofile");