2 回答
TA贡献1802条经验 获得超5个赞
只需使用计数器
int count = 0;
while(file.hasNextLine())
{
count++;
if (count <= 1) {
file.nextLine ();
continue;
}
....
}
TA贡献1824条经验 获得超6个赞
我实际上会使用text而不是重新定义File来构造Scanner. 更喜欢try-with-Resources显式关闭Scanner. 实际上分配content,不要硬编码数组迭代的“魔法值”。基本上,类似
File text = new File("dictionary.txt");
try (Scanner file = new Scanner(text)) {
if (file.hasNextLine()) {
file.nextLine(); // skip first line.
}
while (file.hasNextLine()) {
String content = file.nextLine();
if (content.isEmpty()) {
continue; // skip empty lines
}
String[] array = content.split("\\s+");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
} catch (Exception e) {
e.printStackTrace();
}
如果使用 Java 8+,另一种选择是使用流式Files.lines(Path)传输所有行(和skip(1)),例如
File text = new File("dictionary.txt");
try {
Files.lines(text.toPath()).skip(1).forEach(content -> {
if (!content.isEmpty()) {
System.out.println(Arrays.toString(content.split("\\s+")));
}
});
} catch (IOException e) {
e.printStackTrace();
}
添加回答
举报