Comment convertir un byte[]
struct System.Byte
byte[]
en un object System.IO.Stream
en C #?
La méthode la plus simple pour convertir un tableau d’octets en stream 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 tableau d’ byte[]
dans un stream de mémoire:
byte[] myByteArray = new byte[10]; MemoryStream stream = new MemoryStream(); stream.Write(myByteArray, 0, myByteArray.Length);
Vous pouvez également créer un nouvel object 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 stream (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
.