将字符串写入Stream而无需创建额外的中间缓冲区

时间:2013-07-05 02:35:01

标签: .net string stream

我有string并希望将其写入Stream实例。鉴于我不想将流包装在StreamWriter中,因为非字符串数据也写入同一个流,最简单的方法是:

byte[] bytes = myEncoding.GetBytes(string);
stream.Write(bytes 0, bytes.Length);

这是我程序中性能非常关键的部分,我想避免不必要地创建中间字节数组。是否可以在.net中完成,而无需重新实现System.Text命名空间的字符串编码功能?

使用Encoder.Convert(Char[], Int32, Int32, Byte[], Int32, Int32, Boolean, Int32, Int32, Boolean),我理论上可以使用自己的重用Byte[]数组进行循环,这看起来不是最有效的方法,尽管它可能比{{{{}}更有效。 1}}变体。

那么有没有直接的方法将字符串写入我错过的Stream?

0 个答案:

没有答案