未找到扫描程序类java文件

未找到扫描程序类java文件,java,java.util.scanner,readfile,Java,Java.util.scanner,Readfile,Scanner类找不到该文件 我使用NetBeansIDE,test.txt在文件夹路径中:D:\netbeans project works\ReadFile\src\ReadFile\test.txt 同一文件夹中存在readfile.java。 代码如下。 它生成未找到的文件 package readfile; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; im

Scanner类找不到该文件 我使用NetBeansIDE,test.txt在文件夹路径中:D:\netbeans project works\ReadFile\src\ReadFile\test.txt

同一文件夹中存在readfile.java。 代码如下。 它生成未找到的文件

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)
运行:
线程“main”java.io.FileNotFoundException:test.txt中出现异常(系统找不到指定的文件)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:106)
位于java.util.Scanner.(Scanner.java:636)
位于readfile.readfile.main(readfile.java:14)
Java结果:1
生成成功(总时间:0秒)

将其移动到ReadFile目录,即项目的根目录

test.txt文件应位于文件ReadFile.class存在的文件夹中。

在创建
扫描仪
类之前添加以下内容:

System.out.println(new File("test.txt").getAbsolutePath());
它将告诉您JVM希望在哪里找到该文件,以及它是否也是您希望的文件夹


还要检查文件权限。但很可能是默认JVM目录有问题。

Ahhh您没有指定完整的文件路径。当文件路径缩写时(即
test.txt
),java假定该文件与运行它的源代码位于同一目录中。因此,要么指定完整路径,要么移动文件。

对我有效的方法是从文件名中删除.txt扩展名并使用。指定当前目录(示例如下所示)


我知道这个问题很久以前就有报道了,但是,我遇到了类似的障碍,然后提出的解决方案没有起作用,因此我决定发布另一个答案


尝试使用
Try。。。catch
子句。例如,只有到那时我的代码才被NetBeans编译。

谢谢@tomasz nukiewics的帮助。我将test.txt粘贴到主根文件夹中,而不是类文件夹中。如果test.txt文件不在“D:\netbeans project works\ReadFile\src\ReadFile\test.txt”指定的位置,则通过FileNotFoundException执行。解决方案:您必须在文件存在于该位置之前进行检查,否则首先创建文件,然后调用scnner。
Scanner scanner = new Scanner(new File("./test"));