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

发布于 2024-10-13 10:55:13 字数 123 浏览 5 评论 0原文

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

How do I convert struct System.Byte byte[] to a System.IO.Stream object in C#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

滥情哥ㄟ 2024-10-20 10:55:13

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

Stream stream = new MemoryStream(byteArray);

The easiest way to convert a byte array to a stream is using the MemoryStream class:

Stream stream = new MemoryStream(byteArray);
浊酒尽余欢 2024-10-20 10:55:13

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

You're looking for the MemoryStream.Write method.

For example, the following code will write the contents of a byte[] array into a memory stream:

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

Alternatively, you could create a new, non-resizable MemoryStream object based on the byte array:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
苏辞 2024-10-20 10:55:13

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

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

The general approach to write to any stream (not only MemoryStream) is to use BinaryWriter:

static void Write(Stream s, Byte[] bytes)
{
    using (var writer = new BinaryWriter(s))
    {
        writer.Write(bytes);
    }
}
只是偏爱你 2024-10-20 10:55:13

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

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

If you are getting an error with the other MemoryStream examples here, then you need to set the Position to 0.

public static Stream ToStream(this bytes[] bytes) 
{
    return new MemoryStream(bytes) 
    {
        Position = 0
    };
}
久夏青 2024-10-20 10:55:13

查看 MemoryStream 类。

Look into the MemoryStream class.

落在眉间の轻吻 2024-10-20 10:55:13
Stream into Byte[]:                                   

MemoryStream memory = (MemoryStream)stream; 

byte[] imageData = memory.ToArray();
Stream into Byte[]:                                   

MemoryStream memory = (MemoryStream)stream; 

byte[] imageData = memory.ToArray();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文