我需要帮助找出最快的方法来读取大约 80 个文件,每个文件中有超过 500,000 行,并写入一个主文件,每个输入文件的行作为主文件中的一列。主文件必须写入记事本等文本编辑器,而不是 Microsoft 产品,因为它们无法处理行数。
例如,主文件应如下所示:
File1_Row1,File2_Row1,File3_Row1,...
File1_Row2,File2_Row2,File3_Row2,...
File1_Row3,File2_Row3,File3_Row3,...
等等
到目前为止,我已经尝试了 2 个解决方案:
- 创建一个锯齿状数组以将每个文件的内容保存到一个数组中,然后在读取所有文件中的所有行后,写入主文件。此解决方案的问题是 Windows 操作系统内存会引发错误,即正在使用过多的虚拟内存。
- 为读取特定行号的 80 个文件中的每一个动态创建一个读取器线程,一旦所有线程完成读取一行,组合这些值并写入文件,并对所有文件中的每一行重复。这个解决方案的问题是它非常非常慢。
有没有人有更好的解决方案来快速读取这么多大文件?