1
public StormAnalysis(){
    try {       
        fScanner = new Scanner(new File("tracks1949to2010_epa.txt"));
        while(fScanner.hasNextLine()){
            System.out.println(fScanner.nextLine());
        }
    } catch (FileNotFoundException e) {
        System.out.println("File not found. Try placing the tracks1949to2010_epa.txt in the same folder as StormAnalysis.java");    
        e.printStackTrace();
    }

}

上記は私のコードです(そして私はエラーの画像も持っています:http: //folk.uio.no/arnabkd/test/images/error-code-task.jpg

ご覧のとおり、txtファイルはStormAnalysis.javaファイルと同じフォルダーにあります。さらに、ファイルパスを「weather.dat」(別のタスク/問題として指定された)に変更すると、コードは機能します。

どんなアイデアでも大歓迎です!

4

3 に答える 3

8

ファイルがありません。もしそうなら、それは例外をスローしませんでした:-)

考えられる原因は、作業ディレクトリが予想と異なることです(つまり、現在の作業ディレクトリにその名前のファイルが含まれていません)。これは、ファイルの絶対パスを使用し、ファイルが正しくロードされていることを確認することで簡単に確認できます。

または、現在のディレクトリを検索するには、次の手順に従います。

String cwd = new File(".").getAbsolutePath();

ハッピーコーディング。

于 2011-06-01T06:40:30.263 に答える
2

bin\classesEclipseは、Javaアプリケーションを実行する前に、デフォルトで(これが別のディレクトリに変更されていない限り)クラスファイルをディレクトリにコピーします(のみ) 。srcすべての実用的な目的で、このディレクトリは入力ファイルが存在するディレクトリとは異なります。入力ファイル(またはタイプ.txtのすべてのファイル)を出力ディレクトリにもコピーするように、Eclipseでプロジェクトのビルドプロパティを構成する必要があります。これにより、クラスファイルと同じディレクトリでファイルが使用可能になり、ファイルを読み取ることができるようになります。

于 2011-06-01T06:43:57.237 に答える
0

Eclipse cwdは、binおよびsrcの1つ上のレベルにあるProjectフォルダーです。

Directory of ...eclipse-workspace\File IO
05/30/2018  07:52 PM    <DIR>          bin
05/30/2018  07:48 PM               148 sample.txt
05/30/2018  07:46 PM    <DIR>          src

testFile = new File("Sample.txt");
System.out.println(testFile.getAbsolutePath());
于 2018-05-31T03:14:18.837 に答える