我在处理大文件和内存限制方面的经验非常少。请注意,我使用 Java 作为编程语言。
我必须找到文件大小为 15GB 的记录,然后将结果写入另一个文件。基本上它是一个搜索范围功能的实现。我的目标是将我范围内的记录写入结果文件,并用换行符分隔。也就是说,每条记录都应该放在单独的行上。此类查询的数量在 400-1000 左右。因此,每个查询都会导致写入许多位于其范围内的记录。
那么以下哪个是更快的方法?
1-一旦我开始获取查询范围记录,我就开始将它们连续写入文件?
2-我将我的记录存储在一些字符串中,并为找到的每条记录附加字符串,然后最后写它?
3- 使用字符串生成器连接每个查询的结果,然后在最后写入文件?但字符串生成器不支持换行。
4-制作我自己的数据结构?
5- 制作一个记录数组列表,然后在最后对其进行迭代以写入文件?
请让我知道哪种方法在 IO 和 MM 方面最快。