¿Cómo convierto struct System.Byte byte[] en un objeto System.IO.Stream en C#?
¿Cómo convierto una estructura System.Byte
byte[]
en un System.IO.Stream
objeto en C# ?
Aceptado
La forma más sencilla de convertir una matriz de bytes en una secuencia es utilizar la MemoryStream
clase:
Stream stream = new MemoryStream(byteArray);
Estás buscando el MemoryStream.Write
método .
Por ejemplo, el siguiente código escribirá el contenido de una byte[]
matriz en un flujo de memoria:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);
Alternativamente, puede crear un objeto nuevo , no redimensionable, MemoryStream
basado en la matriz de bytes:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
El enfoque general para escribir en cualquier secuencia (no solo MemoryStream
) es utilizar BinaryWriter
:
static void Write(Stream s, Byte[] bytes)
{
using (var writer = new BinaryWriter(s))
{
writer.Write(bytes);
}
}