将多个文件排序为一个文件

时间:2017-02-06 16:23:43

标签: java sorting dataset

我有200个文件夹,每个文件夹中最多包含20个文件。数据集总计为2gb。我试着一次解析所有内容并将每一行放入一个列表并对它们进行排序但我内存不足。

我可以使用什么方法将多个文件分类到单个文件中?

2 个答案:

答案 0 :(得分:1)

基于文件的merge-sort

  1. 对每个文件的内容进行排序。
  2. 合并每个文件夹的20个文件,以便为每个文件夹获取一个已排序的文件。
  3. 合并200个文件夹文件以获得最终结果。
  4. 如果您不想进行200路合并排序,可以将#3拆分为多个合并排序,然后将这些排序的结果合并排序到所需的多个级别。

答案 1 :(得分:0)

您使用什么排序算法?因为我认为问题在于算法;你需要寻找一种更有效的算法来进行排序。我相信对于大量输入,Merge-Sort是最好的(虽然对该尺寸进行了一些修改)。

Here是一个非常相似的问题,请看看前两个答案。他们应该帮助你解决问题。