Lesen Sie eine zip-Datei in zip-Datei
Ich habe die zip-Datei, die in einem Ordner in der zip-Datei bitte schlagen Sie mich, wie es zu Lesen mit zip-input-stream.
E. G.:
abc.zip
|
documents/bcd.zip
Wie Sie eine zip-Datei in zip-Datei?
- was meinst du mit Lesen? tun Sie extrahieren möchten bcd.zip?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, schauen Sie durch zip-Dateien innerhalb von zip-Dateien rekursiv,
Rufen Sie die Methode mit der Datei-Eingabe-stream abgeleitet aus der Datei -
Den folgenden code-snippet, das listet die Einträge auf, der eine ZIP-Datei innerhalb einer anderen ZIP-Datei. Es an Ihre Bedürfnisse anpassen.
Zipdatei
verwendetZipInputStream
s unter der Haube.Den code-snippet verwendet Apache Commons IO, speziell
IOUtils.copy
.ZipInputStream
von der"abc.zip"
Datei dann öffnen Sie eine neueZipInputStream
für dieZipEntry
entspricht der Datei"documents/bcd.zip"
. Stellen Sie sicher, wickeln Sie das originalZipInputStream
mit einemInputStream
, die verhindert, dass das schließen derInputStream
verwaltet von der neuenZipInputStream
. Den nurInputStream
Sie schließen müssen, ist das original ein.IOUtils.copy
Funktion, die 2 strings, seriosly?Schließlich bekam es zu arbeiten, Fixierung Manas-Maji-Antwort. Minimal-Lösung:
Pflege: nicht in der Nähe-stream in der rekursiven Methode.
Ich geschrieben habe, ein code, können Sie entpacken Sie alle zip-Dateien in einer zip-Datei. Es kann auch entpacken in n Stufen der Kompression. Wie zum Beispiel, wenn Sie hatte eine zip-Datei innerhalb eines zip, innen ein Reißverschluss ( und so weiter) wäre es zu extrahieren alle von Ihnen. Verwenden Sie die zipFileExtract Methode dieser Klasse, und übergeben Sie die Quelle zip-Datei und Zielverzeichnis als argument.