2012-07-08 88 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"));