gpt4 book ai didi

java - 扫描仪读数只有一半没有。文件中的行数

转载 作者:行者123 更新时间:2023-11-30 11:23:13 24 4
gpt4 key购买 nike

我正在尝试使用具有以下代码的扫描仪对象读取文件 -

public void read(){
Scanner scanner = new Scanner(dataFile).useDelimiter("\n");
String line;
int i = 0;
while(scanner.hasNext()){
line = scanner.next();
i++;
}
System.out.println(i);
}

我试图读取的文件有 117000 行,扫描仪只读取其中的前 59550 行奇数行。它不会抛出任何异常并简单地返回。

当我将实现更改为使用 BufferedReader 时,它会读取所有 117000 行 -

public void read(){
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(dataFile)));
String line;
int i=0;
while((line = br.readLine())!= null){
i++;
}
System.out.println(i);
}

谁能解释为什么扫描器不读取所有行?

最佳答案

一个可能的原因可能是 Scanner 的 (1KB) 缓冲区限制小于 BufferedReader (8KB)。

关于java - 扫描仪读数只有一半没有。文件中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21336425/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com