942 Stimmen

Wie konvertiere ich struct System.Byte byte[] in ein System.IO.Stream-Objekt in C#?

Wie konvertiere ich struct System.Byte byte[] zu einer System.IO.Stream Objekt in C# ?

1591voto

Martin Buberl Punkte 43442

Der einfachste Weg, ein Byte-Array in einen Stream zu konvertieren, ist die Verwendung der MemoryStream Klasse:

Stream stream = new MemoryStream(byteArray);

419voto

Cody Gray Punkte 229889

Sie suchen nach dem MemoryStream.Write método .

Der folgende Code schreibt zum Beispiel den Inhalt einer byte[] Array in einen Speicherstrom:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);

Alternativ können Sie auch eine neue , nicht größenveränderbar MemoryStream Objekt auf der Grundlage des Byte-Arrays:

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

35voto

QrystaL Punkte 4786

Der allgemeine Ansatz zum Schreiben in jeden Stream (nicht nur MemoryStream ) ist zu verwenden BinaryWriter :

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

7voto

Rod Talingting Punkte 655

Wenn Sie mit den anderen MemoryStream-Beispielen hier einen Fehler erhalten, müssen Sie die Position auf 0 setzen.

public static Stream ToStream(this bytes[] bytes) 
{
    return new MemoryStream(bytes) 
    {
        Position = 0
    };
}

5voto

Corey Ogburn Punkte 22937

Sehen Sie sich die MemoryStream Klasse.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X