用eclipse找不到文件

时间:2014-10-10 12:49:05

标签: java eclipse file-io fileinputstream

好的,所以我搜索了这个网站和其他几个寻找这个问题的答案,并尝试了所有的建议。没有什么工作,它不断抛出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());
}

文本文件与我正在使用的目录相同,我确保在代码中正确命名。请帮助。

4 个答案:

答案 0 :(得分:0)

使用相对路径创建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);

答案 1 :(得分:0)

尝试将您的文件放在此处。

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

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

String path = "C:\\MyFiles\\PhoneRecords.txt";
File inFile = new File(path);

答案 2 :(得分:0)

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

enter image description here

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

答案 3 :(得分:0)

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

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