我有一个代码,我正在使用 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 行要读取,它没有读取任何内容,并且在第一行读取自身时给出异常...