2014-01-15 105 views
1

我正在使用掃描程序庫來構建一個文件閱讀器,我遵循庫中的提綱並且它編譯得很好,但是當我運行它時,我得到一個FileNotFoundException:text.txt(系統無法找到指定的文件)。該文件位於與.java文件相同的文件夾中,但仍然表示它不在那裏。系統找不到文件

下面是我有任何幫助將是偉大的代碼。

import java.util.*; 
import java.io.*; 

class Conjecture { 

public static void main(String[] args) throws IOException { 

    Scanner scanner = null; 

    try { 
     scanner = new Scanner(new BufferedReader(new FileReader("text.txt"))); 

     while (scanner.hasNext()) { 
      System.out.println(scanner.next()); 
     } 
    } finally { 
     if (scanner != null) { 
      scanner.close(); 
      System.out.println("done"); 
     } 
    } 
} 

}

+0

您可以使用File類得到「的text.txt」的絕對路徑找出Java在哪裏查找該文件。 –

+0

你是否從像Eclipse這樣的IDE運行 –

+0

那麼,如果你將文件移動到你的工作區folder.It一定會工作。 –

回答

1

你的文件需要在運行時JVM的工作目錄。如果你不知道這一點,你可以做到以下幾點:

File file = new File("."); 
System.out.println(file.getAbsolutePath()); 
1

您必須在同一個目錄中的文件作爲您的.class,而不是你的.java。從IDE進行編譯時,.class文件通常被放置在構建目錄中。正如Kevin所建議的那樣,使用絕對路徑也行得通,或者將文件作爲資源添加到jar文件並將其作爲資源加載。

0

進行調試打印文件的canonical path

File file = new new File("text.txt"); 
System.out.println(file.getCanonicalPath()); 

所以你可以看到你的文件應該位於

相關問題