我正在用javanio包的 Files.lines()
方法,该方法提供类型为的输出 Stream<String>
. 在对字符串记录进行一些操作之后,我想将其写入一个文件。我试着用 Collectors.toList()
,它适用于较小的数据集。当我的文件有将近一百万行(记录)时,问题就出现了,列表不能容纳那么多的记录。
// Read the file using Files.lines and collect it into a List
List<String> stringList = Files.lines(Paths.get("<inputFilePath>"))
.map(line -> line.trim().replaceAll("aa","bb"))
.collect(Collectors.toList());
// Writes the list into the output file
Files.write(Paths.get("<outputFilePath>"), stringList);
我正在寻找一种方法,我可以读取一个大文件,操纵它(如在 .map()
方法),并将其写入文件,而不将其存储到列表(或集合)中。
1条答案
按热度按时间lokaqttq1#
您可以尝试以下操作(更新代码以关闭资源):