我有一个包含在 System.IO.StreamReader 中的输入流...我希望将流的内容写入文件(即 StreamWriter)。
输入流的长度未知。长度可能是几个字节和千兆字节。
不占用太多内存的最简单的方法是如何完成的?
我有一个包含在 System.IO.StreamReader 中的输入流...我希望将流的内容写入文件(即 StreamWriter)。
输入流的长度未知。长度可能是几个字节和千兆字节。
不占用太多内存的最简单的方法是如何完成的?
像这样的东西:
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);
}
}
请注意,这与您将一个流的内容复制到另一个流的内容非常相似——这恰好是文本数据而不是二进制数据。