Comment convertir la structure System.Byte byte[] en un objet System.IO.Stream en C# ?

Comment convertir la structure System.Byte byte[] en un objet System.IO.Stream en C# ?

Vous recherchez la méthode [MemoryStream.Write][1]. Par exemple, le code suivant écrit le contenu d'un tableau byte[] dans un flux 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][2] objet MemoryStream, non redimensionnable, basé sur le tableau d'octets :

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

[1] : http://msdn.microsoft.com/en-us/library/system.io.memorystream.write.aspx [2] : http://msdn.microsoft.com/en-us/library/e55f3s5k.aspx

Commentaires (5)

L'approche générale pour écrire dans n'importe quel flux (pas seulement MemoryStream) est d'utiliser BinaryWriter :

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