2012-07-08 61 views
2

扫描器类无法找到我用NetBeansIDE文件 ,并test.txt的是在文件夹路径:d:\ NetBeans项目工程\的ReadFile的\ src \ ReadFile的\ test.txt的Scanner类的java文件未找到

在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) 

回答

4

创建Scanner课前添加以下内容:

System.out.println(new File("test.txt").getAbsolutePath()); 

它会告诉你在哪里JVM希望找到该文件,以及它是否是你期待以及文件夹。

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

+0

感谢@托马斯 - nukiewics您的帮助一起。我将test.txt粘贴到主根文件夹而不是类文件夹中。它的工作 – 2012-07-08 17:58:48

1

它移动到ReadFile的目录,即项目

+0

它是在根文件夹 – 2012-07-08 17:47:59

0

test.txt文件应是在该文件中存在readfile.class的文件夹中的根目录。

+0

它的存在itsef,与readfile.class – 2012-07-08 17:47:16

2

啊,你没有指定完整的文件路径。当文件路径被缩写时(即test.txt),java假定该文件在相同的目录中,作为运行它的源代码。因此,要么指定完整路径,要么移动文件。

0

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

Scanner scanner = new Scanner(new File("./test"));