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

u91tlkcl  于 2023-02-17  发布在  .NET
关注(0)|答案(6)|浏览(169)

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

46scxncf

46scxncf1#

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

Stream stream = new MemoryStream(byteArray);
q8l4jmvw

q8l4jmvw2#

您正在寻找MemoryStream.Write method

例如,下面的代码将byte[]数组的内容写入内存流:

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

或者,您可以基于字节数组创建create a new、不可调整大小的MemoryStream对象:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
2cmtqfgy

2cmtqfgy3#

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

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

idfiyjo84#

如果您在使用其他MemoryStream示例时遇到错误,则需要将Position设置为0。

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

bt1cpqcv6#

流入字节[]:
内存流内存=(内存流)流;
byte[]图像数据=存储器.ToArray();

相关问题