Datei aus MemoryStream erstellen



  • Hallo,

    ich habe etwas in einen MemoryStream geschrieben:

    MemoryStream ms = new MemoryStream();
    			TextWriter tw = new StreamWriter(ms);
    			tw.Write("blubb");
    			tw.Flush();
    			tw.Close();
    

    Wie kann ich jetzt eine Datei (ala "test.txt") erstellen und dort den Inhalt des MemoryStreams reinschreiben?

    danke,

    Usul



  • Warum gibts du dem StreamWriter nicht direkt den Dateipfad und willst nen Umweg über MemoryStream gehen ?



  • geeky schrieb:

    Warum gibts du dem StreamWriter nicht direkt den Dateipfad und willst nen Umweg über MemoryStream gehen ?

    Ich will eben erst die Datei im RAM halten und erst zum Schluss schreiben.

    Jedenfalls ist der Grund egal, ich moechte nur wissen ob es möglich ist aus dem MemoryStream heraus dann eine Datei zu erstellen, egal woher der Inhalt des MemoryStreams kommt.



  • Für Text:

    ms.Position =0;
    File.WriteAllText("test.txt",new StreamReader(ms).ReadToEnd());
    

    Für Bytes:

    ms.Position =0;
    byte[] buffer = new byte[ms.Length];
    ms.Read(buffer,o,buffer.Length);
    File.WriteAllBytes("test.dat",buffer);
    


  • Andorxor schrieb:

    Für Text:

    ms.Position =0;
    File.WriteAllText("test.txt",new StreamReader(ms).ReadToEnd());
    

    Danke.

    Allerdings finde ich File.WriteAllText nicht. Obwohl es bei MSDN steht, aber Visual Sudio sagt "'System.IO.File' enthält keine Definition für 'WriteAllText'".



  • Note: This method is new in the .NET Framework version 2.0.


Log in to reply