猿问

C# 并排合并两个或多个文本文件

using (StreamWriter writer = File.CreateText(FinishedFile))

{

    int lineNum = 0;

    while (lineNum < FilesLineCount.Min())

    {

        for (int i = 0; i <= FilesToMerge.Count() - 1; i++)

        {

            if (i != FilesToMerge.Count() - 1)

            {

                var CurrentFile = File.ReadLines(FilesToMerge[i]).Skip(lineNum).Take(1);

                string CurrentLine = string.Join("", CurrentFile);

                writer.Write(CurrentLine + ",");

            }

            else

            {

                var CurrentFile = File.ReadLines(FilesToMerge[i]).Skip(lineNum).Take(1);

                string CurrentLine = string.Join("", CurrentFile);

                writer.Write(CurrentLine + "\n");

            }

        }

        lineNum++;

    }

}

我目前这样做的方式太慢了。我正在将每行 50k+ 行的文件与不同数量的数据合并。


例如:文件 1

1

2

3

4


档案 2

4

3

2

1


我需要将其合并为第三个文件

File 3

1,4

2,3

3,2

4,1


P.S. 用户可以从任何位置选择任意数量的文件。

谢谢您的帮助。


慕尼黑5688855
浏览 276回答 2
2回答
随时随地看视频慕课网APP
我要回答