私はハングマンゲームを作っており、最近単語をランダム化するためのファイル読み取り方法を実装しました。しかし、私はファイルの読者をテストしていたので、私はそれを読んだ後、私のコードがtry catchブロックをスキップするようになるまで、私はあまり遠くまでは行きませんでした。ここで は、このメソッドを使用して、コンストラクタからのラインです:try catch文をスキップしますか?
word = determineWord();
そして、ここでは、メソッドです:
String determineWord() {
String fileName = "HangmanWords.txt";
String line = null;
try {
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
line = bufferedReader.readLine();
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Can't open file");
}
catch(IOException ex) {
System.out.println("Error reading file");
}
return line;
}
私が受け取るエラーは、ラインが最初はnullに設定されているので、私は信じている、NullPointerExceptionがあり、私のプログラムではwordをnullにすることはできません。
try-catchブロックをスキップしません。しかし、各反復で2行を読み込み、lineがnullのときにループが終了するので、常にnullのLineの最終値を返しています。あなたが何をしようとしているのか分かりません。 –
@JBNizet whileループをチェックし、読み込む行があるかどうかを調べます。行はファイルの最後の行として返されます。 –