2

我有一个包含在 System.IO.StreamReader 中的输入流...我希望将流的内容写入文件(即 StreamWriter)。

输入流的长度未知。长度可能是几个字节和千兆字节。

不占用太多内存的最简单的方法是如何完成的?

4

1 回答 1

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);
    }
}

请注意,这与您将一个流的内容复制到另一个流的内容非常相似——这恰好是文本数据而不是二进制数据。

于 2009-10-05T18:47:26.987 回答