繁体   English   中英

如何使用C#将多个文本文件合并到一个文本文件中?

[英]How do I merge several text files into one text file using C#?

我想将目录中所有制表符分隔的文本文件合并到一个巨大的文本文件中。 这些文件没有标题,所有文件中的列都相互正确对齐,所以我们假设我们不必担心格式化一致性问题。

我只需要按顺序拼接/加入/合并所有文件。

这是我的代码:

    string[] array = Directory.GetFiles(@"C:\MergeThis", "*.txt");

    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    for (int nCount = 0; nCount <= array.Count(); nCount++)
    {
        sb.Append(System.IO.File.ReadAllText(array[nCount])); 
    }

    string output = sb.ToString();    

    string outputFilePath = @"C:\MERGED DATA.txt";
    System.IO.File.WriteAllText(outputFilePath, output);

我的问题是......有更好/更快/更简洁的方法吗?

不知道那比你的更快,但这里是n8wrl在他们的回答中提供的解决方案:

using (var output = File.Create("output"))
{
    foreach (var file in new[] { "file1", "file2" })
    {
        using (var input = File.OpenRead(file))
        {
            input.CopyTo(output);
        }
    }
}

注意: - Stream.CopyTo方法.Net 4.0的一个功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM