Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java扫描器(System.in)在用户输入后不会打开文件_Java_Java.util.scanner_Filenames_Bufferedreader - Fatal编程技术网

Java扫描器(System.in)在用户输入后不会打开文件

Java扫描器(System.in)在用户输入后不会打开文件,java,java.util.scanner,filenames,bufferedreader,Java,Java.util.scanner,Filenames,Bufferedreader,你好,我正面临一个无法解决的问题。我要求用户输入文件名,但得到的输出总是“无法打开文件”。任何建议都将不胜感激 Scanner reader = new Scanner(System.in); System.out.println("Enter the name of textfile to be read ( add .txt): "); String fileName = reader.next(); String line = null; Buf

你好,我正面临一个无法解决的问题。我要求用户输入文件名,但得到的输出总是“无法打开文件”。任何建议都将不胜感激

    Scanner reader = new Scanner(System.in); 
    System.out.println("Enter the name of textfile to be read ( add .txt): ");

    String fileName = reader.next();
    String line = null;
    BufferedReader bufferedReader =   new BufferedReader(fileReader);

    while((line = bufferedReader.readLine()) != null) {
        System.out.println(line); 

        catch(FileNotFoundException ex) {
        System.out.println(
            "Unable to open file '" + 
            fileName + "'");                
       }

        catch(IOException ex) {
        System.out.println(
            "Error reading file '" 
            + fileName + "'");                  
        // Or we could just do this: 
        // ex.printStackTrace();
    }
    }
FileNotFoundException总是执行,但为什么


如果我将路径更改为特定位置,如“C:\etc”,它将读取文件。

如果只提供文件名而不提供路径,Java不知道在哪里查找。如果您确定该文件将位于项目目录中,只需在用户输入前加上C:/etc

如果不指定绝对文件路径,即,
C:/dir/…
,java将在与项目根目录相同的目录中查找(与
src
bin
文件夹相同的目录)。如果文件在那里,它将只找到文件名,或者如果您在该文件夹中创建了一个目录,那么您需要在路径中找到该目录。如果您有一个可执行的JAR,它将在JAR所在的同一目录中查找

总是执行FileNotFoundException,但为什么?-因为无法使用您提供的路径找到该文件?我将很快编辑我的问题。如果我被误解,很抱歉。是的,我需要指定文件的整个路径,如“C:\\etc”。非常感谢。