Leeres Verzeichnis in ein Zipfile einfügen

reibi

Top Contributor
Hi

Wie kann ich ein leeres Verzeichnis in ein Zipfile einfügen?

Java:
            FileOutputStream myFOS = new FileOutputStream("test.zip");
            ZipOutputStream myZOS = new ZipOutputStream(new BufferedOutputStream(myFOS));
            myZOS.putNextEntry(new ZipEntry("test/test/"));
            myZOS.close();

Das hier geht nämlich nicht

Gruss ;-)
 
ka

kommen bei deinem 7zip 7z dateien oder zip dateien raus? vllt. verwendet 7zip andere mechanismen, bei meinem normalen os geht es auf jedenfall nicht (sind dann wahrscheinlich auch die fkts die java verwendet...)

lg
 
Java:
        FileOutputStream myFOS = new FileOutputStream("test.zip");
        ZipOutputStream myZOS = new ZipOutputStream(new BufferedOutputStream(myFOS));
        myZOS.putNextEntry(new ZipEntry("test/test/"));
        myZOS.closeEntry(); // sowieso immer nötig
        myZOS.close();
 
@Slater
Geht auch nicht! Ich hatte das vorher auch schon mal ausprobiert.

das leere Unterverzeichnis wird zur leeren Datei.
Probiers aus

Gruss
 
das habe ich, wobei ich durch deine Nachfrage bei erneuten Test festgestellt habe, dass bei mir zumindest das closeEntry() doch nicht unbedingt nötig ist,
im Zweifel dessen Funktion nachschlagen,
hier noch ein ausführlicheres Beispiel mit Screenshot,

mehr kann ich nicht beitragen,
edit:
oder du könntest deine erzeugte Datei noch hochladen (so wie ich),
vielleicht enthält es doch schon Verzeichnisse, jedenfalls für andere interpretiert

Java:
        myZOS.putNextEntry(new ZipEntry("test/test/"));
        myZOS.putNextEntry(new ZipEntry("test2/"));
        myZOS.putNextEntry(new ZipEntry("test3"));
        myZOS.putNextEntry(new ZipEntry("test4.txt"));
 

Anhänge

  • screen1.png
    screen1.png
    11,5 KB · Aufrufe: 45
  • test.zip
    test.zip
    458 Bytes · Aufrufe: 1
Zuletzt bearbeitet von einem Moderator:
Mach das mal mit Windows auf.
Wenn ichs mit 7Zip aufmache dann gehts auch ... mit Windows-BoardZipper aber nicht
Erstell ich das zipFile mit 7Zip, dann zeigt mir der win-board-zipper auch das leere Verz an

Gruss
 
die sicherste Methode, die auch mit älteren Programmen funktioniert, ist eine leere Datei in jedes leere Verzeichnis zu legen, z.B. "deleteme.txt".

Slawa
 
@reibi
die Beobachtung kann ich bestätigen, solche Detailinfos könntest du auch gleich posten..

ansonsten kann ich nicht weiterhelfen, die zahlreichen englischen Themen dazu (Suche 'zipoutputstream empty directory')
hast du gewiss auch schon angeschaut ohne die Ergebnisse mitzuteilen ( 😉 ), dann muss ich da ja auch nix mehr sagen
 
Zuletzt bearbeitet von einem Moderator:
die Beobachtung kann ich bestätigen, solche Detailinfos könntest du auch gleich posten..

Naja, das ist mir auch erst aufgefallen als ichs im 7zip aufgemacht hab ... sorry

die zahlreichen englischen Themen dazu (Suche 'zipoutputstream empty directory')
hast du gewiss auch schon angeschaut ohne die Ergebnisse mitzuteilen ( 😉 ), dann muss ich da ja auch nix mehr sagen
genau, hab ich, ohne Ergebnisse mitzuteilen. Bis eben wusste ich aber noch gar nicht, dass windowsXP anders reagiert als 7zip.

Bis bislang davon ausgegangen, das der ALG nicht so komplex ist, das es Unterschiede gibt.

die sicherste Methode, die auch mit älteren Programmen funktioniert, ist eine leere Datei in jedes leere Verzeichnis zu legen, z.B. "deleteme.txt".

Slawa
Danke für den Tip 🙂 aber das machen wir nicht. Wenn ich meine Festplatte einpacken würde, würde ich unmengen von Müll produzieren.
 

Zurück
Oben