gpt4 book ai didi

java - 使用 Stream 从 BufferedReader 读取行

转载 作者:行者123 更新时间:2023-12-02 02:00:28 26 4
gpt4 key购买 nike

我正在尝试读取一个大文件,其中大约有十亿行。我想使用 Stream 进行并行处理并将每一行插入数据库中。我正在做这样的事情,

br = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
list = br.lines().parallel().collect(Collectors.toList());

这会将所有行存储在列表中。但我不想将所有行都保留在内存中。所以,我想在读取一行后立即将它们保存到数据库中。请帮助我实现这一目标。另外,请指导我调整这个想法。

提前致谢:)

最佳答案

似乎您需要使用forEach并传递一个Consumer来获取该行并将其存储在数据库中

lines.parallel()
.forEach(line -> {
//Invoke the code passing the 'line' that persists in the DB...something like
dbWriter.write(line);
});

关于java - 使用 Stream 从 BufferedReader 读取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51645880/

26 4 0