我有以下文件:
以下代码:
Scanner scanner = new Scanner(new FileReader(new File(file.txt)));
scanner.useDelimiter("\r\n");
int i = 0;
while (scanner.hasNext()) {
scanner.nextLine();
i++;
}
System.out.println(i);
返回5
。
预期结果:2
。
我错了什么?
我想只按CRLF分割(不是LF)。
答案 0 :(得分:5)
使用scanner.next()
来调用指定的分隔符。
scanner.nextLine()
将使用\n
(确切模式为\r\n|[\n\r\u2028\u2029\u0085]
)作为分隔符,因此长度为5。
while (scanner.hasNext()) {
scanner.next();
i++;
}