2014-02-13 46 views
0

這是我目前需要一個比較有效的方法來合併文本文件

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 

問題代碼看起來,使用此方法,性能Poort酒店與幾個大文件的時候。

有沒有更合適的方法來合併文本文件?也許首先將所有文件讀取到streamreader中,然後在一個操作中創建輸出文件?

回答

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是開放>直寫>關閉merge.txt文件對每個txt文件在目錄

相關問題