我正在阅读目录中的一堆文件。我想使用扫描仪来检查它们中的大多数,但我一直得到NoSuchElementExceptions,我很肯定这是因为有些文件以空行开头。
如何使用扫描仪绕过此功能,以便我可以毫无问题地阅读文件的其余部分?
答案 0 :(得分:0)
如果您确定第一行是空白的,那么您只需使用:
String line = scanner.nextLine();
跳过第一行。如果这只发生在某些文件中,那么您可以使用以下方法检查内容:
line.isEmpty()
答案 1 :(得分:0)
使用Scanner读取文件的最简单方法应该可以正常工作,类似的方法可以正常工作:
public void getFile(File file) {
Scanner sc = null;
try {
sc = new Scanner(file);
if(sc.hasNext())
System.out.println(sc.next());
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if(sc!=null) sc.close();
}
}
即使第一行为空白也没有问题
答案 2 :(得分:0)
你确定这是给你问题的空白行吗?
我刚用一个非常小的Java程序对它进行了测试,我认为你没有检查它是否有下一行。
尝试使用hasNext()方法:
while (scan.hasNext()) {
//Your code
}
这会在尝试解析文件之前检查文件中是否有nextLine。