如何在C#中把结构System.Byte byte[]转换成System.IO.Stream对象?

如何在C#中把结构System.Byte``byte[]转换为System.IO.Stream对象?

对该问题的评论 (1)
解决办法

将字节数组转换为流的最简单方法是使用[MemoryStream][1]类。

Stream stream = new MemoryStream(byteArray);

[1]: http://msdn.microsoft.com/en-us/library/system.io.memorystream.aspx

评论(4)

你要找的是MemoryStream.Write方法例如,下面的代码将把一个byte[]数组的内容写入内存流中。

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);

另外,你可以在字节数组的基础上创建一个新的、不可调整大小的MemoryStream对象。

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
评论(5)

向任何流(不仅是MemoryStream)写入的一般方法是使用BinaryWriter

static void Write(Stream s, Byte[] bytes)
{
    using (var writer = new BinaryWriter(s))
    {
        writer.Write(bytes);
    }
}
评论(0)