570 Stimmen

Wie kann ich den Inhalt eines Streams in einen anderen kopieren?

Wie lässt sich der Inhalt eines Streams am besten in einen anderen kopieren? Gibt es eine Standardmethode für diese Aufgabe?

0voto

ntiago Punkte 1

Für .NET 3.5 und früher versuchen Sie :

MemoryStream1.WriteTo(MemoryStream2);

0voto

Graham Laight Punkte 4338

Einfach und sicher - erstellen Sie einen neuen Stream aus der Originalquelle:

    MemoryStream source = new MemoryStream(byteArray);
    MemoryStream copy = new MemoryStream(byteArray);

-3voto

HasH Punkte 1

Der folgende Code, um das Problem zu lösen, kopiert den Stream in MemoryStream mit CopyTo

Stream stream = new MemoryStream();

//jede Funktion erfordert die Eingabe des Streams. In meinem Fall zum Speichern der PDF-Datei als Stream document.Save(stream);

MemoryStream newMs = (MemoryStream)stream;

byte[] getByte = newMs.ToArray();

//Hinweis - Bitte entsorgen Sie den Stream im finally-Block und nicht im using-Block, da sonst der Fehler 'Access denied as the stream is closed' auftritt.

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