扫描仪类无法找到该文件 我使用NetBeansIDE,test.txt位于文件夹路径中:D:\ netbeans project works \ ReadFile \ src \ readfile \ test.txt
在readfile.java exsist的同一文件夹中。 代码如下。 它生成未找到的文件。
package readfile;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) throws IOException , FileNotFoundException
{
Scanner scanner = new Scanner(new File("test.txt"));
while (scanner.hasNextLine())
System.out.println(scanner.nextLine());
}
}
输出: -
run:
Exception in thread "main" java.io.FileNotFoundException: test.txt (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.util.Scanner.<init>(Scanner.java:636)
at readfile.ReadFile.main(ReadFile.java:14)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
答案 0 :(得分:4)
在创建Scanner
类之前添加以下内容:
System.out.println(new File("test.txt").getAbsolutePath());
它将显示JVM期望找到该文件的位置以及它是否是您期望的文件夹。
同时检查文件权限。但很可能这是默认JVM目录的问题。
答案 1 :(得分:2)
啊,你没有指定完整的文件路径。当文件路径缩写(即test.txt
)时,java假定该文件与运行它的源代码位于相同的目录中。因此要么指定完整路径,要么移动文件。
答案 2 :(得分:1)
将其移至ReadFile目录,即项目的根目录
答案 3 :(得分:0)
test.txt
文件应位于文件readfile.class
存在的文件夹中。
答案 4 :(得分:0)
对我有用的是从文件名中删除.txt扩展名并使用。指定当前目录(示例如下所示)。
Scanner scanner = new Scanner(new File("./test"));
答案 5 :(得分:0)
我知道这个问题已经很久以前报告过了,但是,我遇到了类似的障碍,因此建议的解决方案不起作用,因此我决定发布另一个答案。
尝试使用try... catch
子句。例如,只有这样,我的代码才被NetBeans编译。