协慌网

登录 贡献 社区

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

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

答案

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

Stream stream = new MemoryStream(byteArray);

您正在寻找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);

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

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