Hallo Freunde,
frisch umgestiegen auf VS2012 möchte ich gern die neuen IO.Compression-Klassen nutzen. Aber ich habe da ein dickes Brett vor dem Kopf.
Wo man auch sucht und was man auch per Tante Kugel so aufstöbert, über all - und wirklich überall - findet man das gleiche Beispiel aus der MSDN
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| static void Main(string[] args) {
const string zipFilePath = @"C:\apps\Sample Pictures.zip";
using (FileStream zipFileToOpen = new FileStream(zipFilePath, FileMode.Open)) using (ZipArchive archive = new ZipArchive(zipFileToOpen, ZipArchiveMode.Update)) {
ZipArchiveEntry readMeEntry = archive.CreateEntry("ReadMe.txt"); using (StreamWriter writer = new StreamWriter(readMeEntry.Open())) { writer.WriteLine("Lorem ipsum dolor sit amet..."); writer.Write("Proin rutrum, massa sed molestie porta, urna..."); } } } |
So. Nun habe ich aber keinen Stramwriter, in den ich manuell irgendwelchen Text schreibe. Habe ich nicht und krieg ich auch nicht wieder rein.
Wie bekomme ich eine Datei in dieses ZipArchiveEntry ? Meine Vermutung ist, den StreamWriter aus dem Beispiel zu nutzen, einen weiteren StreamReader auf meine Datei zu setzen und dann den StreamReader in den StreamWriter schreiben zu lassen (StreamReader.ReadToEnd oder so ähnlich, IIRC).
Ist das wirklich so umständlich ?
Danke für das Brecheisen.
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.