我想将目录中所有制表符分隔的文本文件合并到一个巨大的文本文件中。这些文件没有标题,而且所有文件中的列都相互正确对齐,所以假设我们不必担心格式一致性问题。
我只需要按特定顺序将所有文件缝合/加入/合并在一起。
这是我的有效代码:
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/