文件存在时抛出FileNotFoundException

时间:2018-03-21 02:10:42

标签: java netbeans

当我运行此代码时,

public static void read_all_lines(){
    String file_name = "input.txt";
    File input_file = new File(file_name);
    Scanner in_file = null;
    try{
        in_file = new Scanner(input_file);
    }
    catch(FileNotFoundException ex){
        System.out.println("Error: This file doesn't exist");
        System.exit(0);
    }
    while(in_file.hasNextLine()){
        String line = in_file.nextLine();
        System.out.println(line);
    }
    in_file.close();
}

应该读取.txt文件中的所有行并在屏幕上打印它们抛出FileNotFoundException。它捕获它并打印出错误消息没有问题。但是文件确实存在,我输入了两个文件和input.txt,但仍然抛出了异常。 This is the file directory where the files and project are.

2 个答案:

答案 0 :(得分:1)

文件不在正确的区域。使用MadProgrammer提供的System.out.println(System.getProperty("user.dir"));我找到了程序需要文件的目录并更正了问题

答案 1 :(得分:1)

从它的外观来看,该程序似乎位于文件夹“Guided Exercise 4”中,其中文本文件位于该文件夹之外。如果是这种情况,则将文本文件移动到与程序相同的文件夹或File input_file = new File("..\\" + file_name);以引用父目录中的文件。但我建议移动文本文件。