需要一种更有效的方法来合并文本文件

时间:2014-02-13 11:13:03

标签: vb.net

这是我目前的代码

Dim Paths() As String = Directory.GetFiles("files*.txt")
For Each Path As String In Paths
    File.AppendAllText("merged.txt", File.ReadAllText(Path), Encoding.Default)
Next

问题似乎是使用这种方法,在处理几个大文件时性能很差。

是否有更有效的合并文本文件的方法?也许首先将所有文件读入流读取器,然后在一次操作中创建输出文件?

1 个答案:

答案 0 :(得分:2)

试试这个:

using (StreamWriter sw = new StreamWriter("merge.txt"))
{
    string[] paths = Directory.GetFiles("files*.txt");
    foreach (string path in paths)
        using (StreamReader sr = new StreamReader(path))
        {
            sw.Write(sr.ReadToEnd());
            sw.WriteLine("");
        }
}

我认为缓慢的操作是在File.AppendAllText中打开 - >写入>关闭目录中每个txt文件的merge.txt文件