簡體   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