Hi danielf,
danke schonmal für die Hinweise.

Hab das Skript demnach auch gleich mal in einen using-Block gepackt (hoffe, das passt so, funktioniert jedenfalls - wenn nicht, korrigier mich bitte).
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| using (System.IO.StreamWriter strw = new System.IO.StreamWriter(@"C:\_test\test.txt", false)) { strw.Dispose(); strw.Close(); }
Console.ReadLine(); |
Liegt wohl eher an meiner Beschreibung zum Code, test.txt ist für mich lediglich (irgend)eine Datei, die ich erstelle. Hat in dem Fall jetzt auch gar nichts mit dem Zippen selbst zu tun, da mein Problem schon hier auftritt.
Das Programm läuft soweit durch, erstellt die Datei test.txt und wartet auf eine Benutzereingabe. Wenn ich
jetzt versuche, die Datei (ganz normal, unter Windows) umzubenennen oder zu löschen, erscheint folgende Fehlermeldung:
Zitat: |
Fehler beim Umbenennen der Datei oder des Ordners
test kann nicht umbenannt werden: Die Datei wird von einer anderen Person bzw. einem anderen Programm verwendet.
Schließen Sie alle Programme, die die Datei eventuell verwenden können, und wiederholen Sie den Vorgang. |
Sobald ich die Konsolenanwendung beende, kann ich die Datei umbenennen.
Ich möchte die Datei aber auch schon verändern (bzw. löschen) können, wenn mein Programm noch läuft - deswegen wollte ich sie ja auch mit Dispose() und Close() "freigeben" (was aus mir unersichtlichen Gründen nicht möglich ist).