Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #12862

ZipOutputStream korrekt verwenden

From Christoph Schneegans <Christoph@Schneegans.de>
Newsgroups de.comp.lang.java
Subject ZipOutputStream korrekt verwenden
Date 2015-12-01 23:10 +0100
Message-ID <dc6k6cFmndeU1@mid.individual.net> (permalink)

Show all headers | View raw


Hallo allerseits!

Ich möchte mit java.util.zip.ZipOutputStream ein .zip-Archiv erstellen. 
Leider ist die Dokumentation der Klasse recht dürftig. Mir ist nun 
insbesondere unklar, wie Unterverzeichnisse im Archiv korrekt behandelt 
werden müssen.

Ich gehe davon aus, daß ich etwa mit

   ZipOutputStream zip = ...
   ZipEntry entry = new ZipEntry("dir/");
   zip.putNextEntry(entry);
   zip.closeEntry();

einen Unterverzeichnis-Eintrag und mit

   ZipOutputStream zip = ...
   ZipEntry entry = new ZipEntry("dir/file.txt");
   zip.putNextEntry(entry);
   zip.write("abcdef".getBytes());
   zip.closeEntry();

einen Datei-Eintrag erstelle.

Gibt es denn überhaupt eine technische Notwendigkeit, 
Unterverzeichnis-Einträge explizit zu erstellen? ZipOutputStream hindert 
mich ja nicht daran, _nur_

   ZipEntry entry = new ZipEntry("dir/file.txt");

aufzurufen. Die resultierende .zip-Datei hat dann nur einen Eintrag, und 
dennoch kann man sie etwa in 7-Zip tadellos öffnen und dort in ein 
Verzeichnis "dir" wechseln.

Spielt die Reihenfolge ansonsten eine Rolle? Wäre etwa

   ZipEntry entry = new ZipEntry("dir/foo.txt");
   ...
   ZipEntry entry = new ZipEntry("dir/");
   ...
   ZipEntry entry = new ZipEntry("dir/bar.txt");
   ...

fehlerhaft?

-- 
<http://schneegans.de/lv/> · Validator für BCP 47

Back to de.comp.lang.java | Previous | NextNext in thread | Find similar


Thread

ZipOutputStream korrekt verwenden Christoph Schneegans <Christoph@Schneegans.de> - 2015-12-01 23:10 +0100
  Re: ZipOutputStream korrekt verwenden Claus Reibenstein <4spamersonly@kabelmail.de> - 2015-12-02 21:00 +0100
  Re: ZipOutputStream korrekt verwenden Christoph Schneegans <Christoph@Schneegans.de> - 2015-12-07 15:03 +0100

csiph-web