web-dev-qa-db-fra.com

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

Comment convertir struct System.Bytebyte[] en un objet System.IO.Stream en C #?

682
Mehdi Hadeli

Le moyen le plus simple de convertir un tableau d'octets en flux consiste à utiliser la classe MemoryStream :

Stream stream = new MemoryStream(byteArray);
1152
Martin Buberl

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);
316
Cody Gray

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);
    }
}
29
QrystaL

Regardez dans la classe MemoryStream .

4
Corey Ogburn