Konvertieren von einem Stream in einen FileStream in C#
Was ist die beste Methode zum konvertieren von einem Stream in einen FileStream mit C#.
Die Funktion, ich arbeite an einen Stream übergeben, um es mit hochladen von Daten, und ich brauche, um in der Lage zu erfüllen stream.Read () stream.Seek () - Methoden, die Methoden der FileStream-Typ.
Einen einfachen cast funktioniert nicht, daher bitte ich hier um Hilfe.
Warum gibt es keine casting-Arbeit? Was ist die Art Ihrer eingehenden Stream-Objekt dann?
Es ist absurd Betrieb. Wenn stream nicht unterstützt
Es ist absurd Betrieb. Wenn stream nicht unterstützt
Read/Seek
- dann casting wird nicht helfen.InformationsquelleAutor Greg | 2010-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Read
undSeek
sind Methoden auf derStream
geben, nicht nurFileStream
. Es ist nur so, dass nicht jeder stream unterstützt. (Persönlich bevorzuge ich mit denPosition
Eigenschaft über den AufrufSeek
, aber Sie Kochen unten um die gleiche Sache.)Wenn Sie lieber die Daten im Speicher über dumping es auf eine Datei, warum nicht einfach Lesen Sie alle in einer
MemoryStream
? Unterstützt die Suche. Zum Beispiel:Verwenden:
Dies ist vergleichbar mit der
Stream.CopyTo
- Methode eingeführt .NET 4.Wenn Sie eigentlich schreiben wollen, um die Datei-system, können Sie etwas ähnliches machen, schreibt zuerst die Datei dann spult der stream... aber dann werden Sie brauchen zu kümmern, löschen Sie es anschließend, um zu vermeiden, verunreinigen Sie Ihre Festplatte mit Dateien.
InformationsquelleAutor Jon Skeet