2 回答

TA貢獻1802條經(jīng)驗 獲得超5個贊
只需使用計數(shù)器
int count = 0;
while(file.hasNextLine())
{
count++;
if (count <= 1) {
file.nextLine ();
continue;
}
....
}

TA貢獻1824條經(jīng)驗 獲得超6個贊
我實際上會使用text而不是重新定義File來構(gòu)造Scanner. 更喜歡try-with-Resources顯式關(guān)閉Scanner. 實際上分配content,不要硬編碼數(shù)組迭代的“魔法值”?;旧希愃?/p>
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();
}
添加回答
舉報