gpt4 book ai didi

java.util.Scanner 在读取大文件时出现故障

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:02:27 25 4
gpt4 key购买 nike

我编写了一个程序,我在其中使用扫描器从日志文件中读取行并解析每一行以找到重要的内容。阅读日志文件的每一行很重要。我写了下面一段代码来扫描每一行

Scanner s = new Scanner(new File("Large.log"));
while(s.hasNextLine())
{
String line = s.nextLine();
//do the processing of the log line
}

上面的代码表现得很奇怪。它在随机数行后停止读取行 [大约在 100 万行之后]。我修改了上面的代码以检查读取的最后一行,还使用 ​​Notepad++ 检查了日志文件。在该特定行之后,文件中还有很多行。我在 while 循环结束后添加了另一个 System.out.println(s.hasNextLine()) 并打印 false。

但是,如果我尝试使用 BufferedReader 执行上述操作,程序运行良好。 Java 中的 util IO 类有什么限制吗?

最佳答案

这听起来像 large file support您的特定 JVM 实现存在问题。许多标准文件 I/O 在 32 位操作系统上无法处理大于 4 GB 的文件是一个常见问题。通常有文件 API 的替代版本来明确支持大文件,但实现 JVM 的人必须记住使用这些版本。出于好奇,您使用的是什么操作系统,是 64 位的吗?

关于java.util.Scanner 在读取大文件时出现故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982777/

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