2009-10-05 28 views
2

我有一個輸入流包裹在System.IO.StreamReader中...我希望將流的內容寫入文件(即StreamWriter)。StreamReader要文件?

輸入流的長度未知。可能是幾個字節,並且以千兆字節爲單位。

這是怎麼做的最簡單,不佔用太多的內存?

回答

10

事情是這樣的:

public static void CopyText(TextReader input, TextWriter output) 
{ 
    char[] buffer = new char[8192]; 
    int length; 
    while ((length = input.Read(buffer, 0, buffer.Length)) > 0) 
    { 
     output.Write(buffer, 0, length); 
    } 
} 

注意,這是非常相似,你會寫一個數據流中的內容複製到其他什麼 - 這恰好是文本數據,而不是二進制數據。

相關問題