我如何转换结构系统。字节字节[]到c#中的System.IO.Stream对象?


当前回答

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

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

其他回答

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

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

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

Stream stream = new MemoryStream(byteArray);

你在找记忆流。写方法。

例如,下面的代码将把一个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示例中出现错误,则需要将Position设置为0。

public static Stream ToStream(this bytes[] bytes) 
{
    return new MemoryStream(bytes) 
    {
        Position = 0
    };
}

查看MemoryStream类。