找不到扫描程序类java文件

时间:2012-07-08 17:11:12

标签: java java.util.scanner readfile

扫描仪类无法找到该文件 我使用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)

6 个答案:

答案 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编译。