Comment convertir struct System.Byte
byte[]
en un objet System.IO.Stream
en C #?
Le moyen le plus simple de convertir un tableau d'octets en flux consiste à utiliser la classe MemoryStream
:
Stream stream = new MemoryStream(byteArray);
Vous recherchez la méthode MemoryStream.Write
) . Par exemple, le code suivant écrira le contenu d'un byte[]
tableau dans un flux de mémoire:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);
Alternativement, vous pouvez créer un nouvel objet , objet MemoryStream
non redimensionnable basé sur le tableau d'octets:
byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
L’approche générale pour écrire dans n’importe quel flux (et pas seulement MemoryStream
) consiste à utiliser BinaryWriter
:
static void Write(Stream s, Byte[] bytes)
{
using (var writer = new BinaryWriter(s))
{
writer.Write(bytes);
}
}
Regardez dans la classe MemoryStream
.