gpt4 book ai didi

java - 在 Java 中,有没有办法随机化一个太大而无法放入内存的文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:17 24 4
gpt4 key购买 nike

我想做的是打乱行(从 CSV 读取),然后将第一个随机的 10,000 行打印到一个 csv,其余的打印到一个单独的 csv。使用较小的文件我可以做类似的事情

java.util.Collections.shuffle(...)
for (int i=0; i < 10000; i++) printcsv(...)
for (int i=10000; i < data.length; i++) printcsv(...)

但是对于非常大的文件,我现在得到 OutOfMemoryError

最佳答案

你可以:

  • 使用更多内存或

  • 洗牌不是实际的 CSV 行,而是行号的集合,然后逐行读取输入文件(当然是缓冲的)并将该行写入所需的输出文件之一。

关于java - 在 Java 中,有没有办法随机化一个太大而无法放入内存的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7875429/

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