Laden...

SharpZipLib prooduziert sporadisch defekte Archive

Erstellt von ThomasR vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.123 Views
T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 15 Jahren
SharpZipLib prooduziert sporadisch defekte Archive

Hallo,

ich habe ein Problem mit der Sharpziplib, bei dem ich momentan nicht mehr weiter weiß:

Scheinbar sporadisch werden erzeugt mir das Programm fehlerhafte Archive, die beim Öffnen mit "cannot find central directory" fehlschlagen. Auch mit Winzip und Konsorten lässt es sich dann nicht mehr öffnen oder reparieren.

Das Problem tritt komischerweise nur dann auf (und auch dann nur in einem von 100 Fällen!!), wenn in dem Verzeichnis in dem das Archiv gespeichert werden soll bereits eine zip-Datei vorhanden ist. Diese muss aber nicht den gleichen Name haben.
Wähle ich also ein anderes Verzeichnis oder lösche die anderen zip-Dateien im Verzeichnis dann geht das archivieren wieder. Lediglich den Dateinamen zu ändern bringt aber nichts.

Das ist in meinen Augen äußerst mysteriös! Ich habe mir auch schon überlegt, ob es irgendwie mit dem SavefileDialog zusammenhängen könnte, den ich zum Auswählen der zu speichernden .zip-Datei verwende....kann mir aber auch da nichts erklären...

Hat vielleicht irgendjemand eine Idee woran das liegen könnte? Ich bin völlig ratlos und hoffe auf eure Hilfe.

Gruß
Thomas

G
497 Beiträge seit 2006
vor 15 Jahren

schliesst du die Datei auch sauber ab, wenn du die Inhalte hinzugefügt hast? Der ZipOutStream muss, wenn ich mich recht erinnere, erst mit Finish() abgeschlossen und dann mit Close() geschlossen werden.

T
ThomasR Themenstarter:in
93 Beiträge seit 2007
vor 15 Jahren

Hallo,

schließen tue ich schon richtig.

Ich benutze allerdings momentan zum Speichern nicht die ZipOutStream-Klasse, sondern mache das folgenermaßen:


ZipFile packageFile = ZipFile.Create(file);

packageFile.BeginUpdate();

packageFile.Add(new MemoryDataSource(mystream), "test");
...
...

packageFile.CommitUpdate();

packageFile.Close();