使用Scanner发现java.io.FileNotFoundException(找不到文件).我的代码有什么问题?

dra*_*mnl 5 java filenotfoundexception java.util.scanner

我的netbeans"/ build/classes"目录中有一个.txt文件("file.txt").

同一目录中,为以下代码编译了.class文件:

try {
File f = new File("file.txt");
Scanner sc = new Scanner(f);
}
catch (IOException e) {
   System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)

调试代码("Scanner sc .."中的断点)将启动一个异常并打印以下内容:

java.io.FileNotFoundException:file.txt(系统找不到指定的文件)

我也尝试使用"/file.txt"和"//file.txt"但结果相同.

提前感谢您的任何提示

Joe*_*erg 7

如果您只是使用new File("pathtofile")该路径相对于您当前的工作目录,这完全不是您的类文件所在的位置.

如果您确定该文件位于类路径中的某个位置,则可以使用以下模式:

URL path = ClassLoader.getSystemResource("file.txt");
if(path==null) {
     //The file was not found, insert error handling here
}
File f = new File(path.toURI());
Run Code Online (Sandbox Code Playgroud)