c# - 如何使用 C# 将多个文本文件合并为一个文本文件?

标签 c# io

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

我只需要按特定顺序将所有文件缝合/加入/合并在一起。

这是我的有效代码:

    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 在 their answer here 中提供的解决方案:

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

注意:- Stream.CopyTo Method.Net 4.0

的一个特性

关于c# - 如何使用 C# 将多个文本文件合并为一个文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199269/

相关文章:

Java BufferedReader readline 阻塞?

java - 创建文件名中包含非英文字符的文件

c# - 检查路径是否在程序文件中

c++ - 读取二进制文件,Linux Buffer Cache

c# - 如何使用 WPF MVVM 缩短代码?

c# - DataTemplate 是否可以按类型应用于 DataGridTemplateColumn?

c# - 根据 Web API 2 上的请求和响应构建/映射模型的最佳方法

c# - 合并 TagHelper 语句

java - 极其简单的 Java IO 和枚举问题

C# .NET - 固定证书颁发机构 - 我做得对吗?