2012-11-27 30 views
6

私はJavaをコンパイルして実行するためにEclipseを使用しています。スレッド "main"の例外java.io.FileNotFoundException:エラー

ここはエラーです。

Exception in thread "main" java.io.FileNotFoundException: file.txt (The system cannot find the file specified) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(Unknown Source) 
    at java.util.Scanner.<init>(Unknown Source) 
    at helloworld.main(helloworld.java:9) 

ここに私のコード

import java.io.File; 
import java.io.IOException; 
import java.util.Scanner; 


public class helloworld { 

    public static void main(String[] args) throws IOException { 
     Scanner KB = new Scanner(new File("file.txt")); 
     while (KB.hasNext()) { 
      String line = KB.nextLine(); 
      System.out.println(line); 
     } 

    } 
} 

FILE.TXT
は、私は私のプロジェクトで同じフォルダにfile.txtを作成しています。

+0

ファイルはプロジェクトフォルダのすぐ下にありますか? –

+0

SCRの下にありますが、scrが機能しなかったので、私もbinの下に置いています。 – Mowgli

+1

'new File(" file.txt ")を印刷してみてくださいexists()' 'true'を返すのですか?そうでない場合は、 'new File(" file.txt ")を印刷してみてください。getAbsoluteFile()'期待したものですか? – amit

答えて

19

ファイルはプロジェクトフォルダの下に直接存在し、他のサブフォルダ内には存在しません。

プロジェクトフォルダがMyProjectであれば、それは(ただし完了していない)のフォルダ構造だようにする必要があります: - それはフォルダすべきではない

MyProject +- src + 
      |  | 
      |  +-- Your source file 
      +- file.txt 


または、src folder内のファイルを検索するためのプロジェクトフォルダに次の相対パスを与えることができます: - ファイルへの完全なパスを渡してみ

new File("src/file.txt"); 
+0

これは私のために働く。 + to @Rohit –

+0

ああ素晴らしい。推測しなかった – gbhall

5

、言う:

new File("/usr/home/mogli/file.txt") 

それとも、窓にしている場合:

new File("C:/Users/mogli/docs/file.txt") 
2

は@rohitジャイナ教のアプローチに従うかのようなあなたのファイルため絶対パスを与える次のいずれかのWindowsでは

Scanner KB = new Scanner(new File("C:/JsfProjects/Project/file1.txt")); 
      while (KB.hasNext()) { 
       String line = KB.nextLine(); 
       System.out.println(line); 
      } 
+1

+1バックスラッシュ\の代わりにフォワードスラッシュ '/'を使用することを検討してください。 –

+0

@ Eng.Fouadありがとう、私は答えを更新する:) – PermGenError

1

それは私のために働いたこの

"C:\\Users\\mogli\\docs\\file.txt" 

のように実際のパスを与えてみてください。

関連する問題