0

JComboBoxで選択されたさまざまなアイテムのさまざまなファイルを読み取る必要があるこのプログラムがあります。JComboBox とすべてが機能するようになりましたが、Course_loader コードを呼び出そうとすると実行されません。ここに私がそれを呼び出そうとする場所のコードがあります:

    public static String CourseName;
public static String PlayerName;
public Start_round(){
    try {
        Course_loader cl = new Course_loader();
        cl.loadCourse(CourseName);
    } catch (IOException e) {
    }

ファイルリーダーのコードは次のとおりです。

    import java.io.*;
    public class Course_loader {
public static String holes;
public void loadCourse(String s) throws IOException{
    File f = new File("courses\\"+s+".txt");
    BufferedReader reader = new BufferedReader(new FileReader(f));
    holes = reader.readLine();
    reader.close();
    System.out.println("it ran");
}

}

コードを呼び出すたびに、「実行されました」と表示されません。私は自分のコードを自分でチェックしましたが、ファイルリーダーのことは初めてです。助けてください。前もって感謝します。

ああ、ファイルはそこにあり、その中にこれらの単語が含まれています

    test

文字列を出力しようとするたびに null になり、実行されていないことが証明されます。

4

2 に答える 2

4

あなたは黙って無視していIOExceptionます。

例外処理を次のように変更しますStart_round

try
{
    // your "load course" code ...
}
catch (IOException e)
{
    e.printStackTrace();
}

これにより、コードで何が問題になっているのかを示す出力が生成されます。FileReaderたとえば、File not foundの問題などです。

別のヒント:reader.close()呼び出しは常にfinallyブロックに入れます。あなたの場合、これはloadCourseメソッドで特定の例外処理を行うことを意味します。Java filereaderを検索し、同様の検索を行ってベスト プラクティスを探します。また、例外について学習する作業を行います。そのことをよく理解していない場合は、try/catch/finally を実行してください。

于 2012-06-07T19:29:11.240 に答える
0
} catch (IOException e) {
}

あなたの問題はそこにあります。絶対にしないでください。少なくとも例外をログに記録します。あなたは何もうまくいかなかったふりをしているのに、なぜうまくいかないのか不思議に思っています。

于 2012-06-08T00:16:34.150 に答える