gpt4 book ai didi

java - 读取大文本文件

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

我目前在使用 java 1.4 读取一个相对较大的文本文件时遇到问题。

我正在尝试读取一个每行 100 个字符的文本文件,该文件最多可达 100 万行或更多行。

目前我正在使用带有文件读取器方法的 BufferedReader 来逐行读取文件以进行处理,但我的应用程序服务器总是在一段时间后挂起。有没有更好的方法来读取文件并处理到我的数据库中?

谢谢

最佳答案

首先,如果可能的话,我不会使用 Java 1.4。例如如果您正在为黑莓手机编写代码,您别无选择。 Java 5.0 是 7 年前发布的,甚至它的免费支持也已终止。最新版本是 Java 6 update 26。

阅读 100 MB 的文本应该不会花很长时间,我应该超过 5 秒。如果您运行缓慢,则可能是您的内存不足。在 Java 6 之前,内存不足可能会导致系统运行越来越慢而不是失败。

如果您需要将数据加载到数据库中,我建议您一次加载少量数据。这样,您加载最后一行的速度将与第一行一样快。

如果要将一百万个条目加载到数据库中,则需要检查数据库的速度。一次加载批处理,您可以每秒插入 10K 条记录,并在两分钟内插入 100 万条记录。但是,配置不当的服务器一次添加一行,每秒只能执行 100 条记录,需要 3.5 小时。

假设您想每 1000 行处理一些数据。

List<String> lines = new ArrayList<String>();
String line;
while((line = br.readLine()) != null) {
lines.add(line);
if(lines.size() >= 1000) {
process(lines);
lines.clear();
}
}
process(lines); // get the last lines.

关于java - 读取大文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6546485/

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