Scanner Class を使用して行をスキャンし、行がなくなるまでループするコードがあります。
私のコードは次のようになります。
File file = new File(filePath);
if (file.exists()) {
Scanner s = new Scanner(file);
String tmp = null;
int result = 0;
try {
while (true) {
tmp = s.nextLine();
if (tmp != null && tmp.equals("")) {
result += Integer.parseInt(tmp);
}
System.out.println(runSequence(Integer.parseInt(tokens[0])));
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(result);
}
エラーが発生します
tmp = s.nextLine();
java.util.NoSuchElementException: 行が見つかりません
以前は同じコードが正常に機能していたため、これは奇妙です。
この行でエラーが発生するのはなぜですか?
編集:
私の間違いは、質問を正しく述べていませんでした。特に、try catch ブロックを while ループから除外して、行が終了したときに終了できるようにしました...私の質問は、なぜ行を読み取れないのかということです...私はtxtファイルを読むために約3〜4行を持っていますが、それは何も読んでおらず、最初の行で例外を与えています...