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”。非常感谢。