Apache Commons Compress unterstützt sowohl Dateiströme (über Kompressoren) und strukturierte Inhalte (über archivers).
Die Bibliothek kann sowohl für die Komprimierung und Dekomprimierung Operationen verwendet werden, arbeiten mit einer relativ großen Anzahl von Archivformate, wobei eines der bekanntesten solcher Lösungen in der Java Community.
Die Bibliothek ist nicht perfekt, da einige Probleme noch in der Entwicklung für jedes Archiv-Datei-Format, aber alles in allem, wenn Sie brauchen, um eine große Anzahl von Kompressionsformate zu unterstützen und sperrige einzelnen Bibliotheken für jedes Format, das Commons Compress nicht verwenden möchten Paket könnte Ihre beste Antwort sein
Eigenschaften .
- Unterstützte Archivformate:
- 7z
- ar
- arj
- bzip2
- cpio
- DEFLATE
- gzip
- lzma
- Pack200
- bissig
- tar
- Unix-Dump
- XZ
- PLZ
Was ist neu in dieser Pressemitteilung:
- Die bissig, ar und tar Inputstreams möglicherweise nicht gelesen ein ungepufferten Stream in bestimmten Fällen.
- IOUtils # überspringen könnte weniger Bytes als auch wenn weitere angeforderte aus dem Stream gelesen werden zu überspringen.
- ArchiveStreams jetzt validieren gibt es einen aktuellen Eintrag vor dem Lesen oder Schreiben von Eingabedaten.
- ArjArchiveInputStream # canReadEntryData getestet den aktuellen Eintrag des Flusses eher als sein Argument.
- ChangeSet # löschen und deleteDir nun korrekt mit namenlosen Einträgen umzugehen.
- Hinzugefügt einige null Kontrollen Robustheit zu verbessern.
- TarArchiveInputStream versäumt, Archive mit leeren gid / uid Felder lesen.
- TarArchiveInputStream nun wieder eine Ausnahme aus, wenn es eine verkürzte Archiv stößt beim Lesen aus dem letzten Eintrag.
- Angepasst TarArchiveInputStream # fahren Sie mit dem modifizierten IOUtils # Überspringen Verfahren. Dank BELUGA BEHR.
Was ist neu in der Version 1.7:.
- Nur-Lese-Unterstützung für Snappy Komprimierung
- Nur-Lese-Unterstützung für .Z komprimierte Dateien.
- ZipFile und ZipArchiveInputStream unterstützen jetzt liest Einträge komprimiert mit der schrumpfenden Verfahren.
- GzipCompressorOutputStream unterstützt nun die Einstellung der Kompression und der Header-Metadaten (Dateiname, Kommentar, Änderungszeit, Betriebssystem und zusätzliche Fahnen)
- ZipFile und ZipArchiveInputStream unterstützen jetzt liest Einträge komprimiert mit dem IMPLODE Verfahren.
- ZipFile und das 7z-Datei Klassen nun umsetzen Verschließbare und können in try-mit-Mittel-Konstrukte verwendet werden.
Was ist neu in der Version 1.5:
- CompressorStreamFactory hat eine Option zum Dekomprimieren Ströme, die die volle dekomprimieren erstellen Eingang für Formate, die mehrere verkettete Ströme zu unterstützen.
Was ist neu in der Version 1.4:
- Unterstützung für die XZ-Format wurde hinzugefügt
Was ist neu in der Version 1.3:
- Unterstützung für die Pack200 Format wurde hinzugefügt
- Schreibgeschützt Unterstützung für das Format von der Unix-Dump verwendet (8) Werkzeug wurde hinzugefügt.
Was ist neu in der Version 1.2:
- Neue Features:
- ZipArchiveEntry hat eine neue Methode getRawName, die die ursprünglichen Bytes, den Namen machte bietet. Dies kann es Benutzer-Code, um die Codierung zu erkennen.
- TarArchiveEntry bietet Zugriff auf die Flags, die bestimmen, ob es eine archivierte symbolischen Link, Rohr oder eine andere & quot ist, gelegentlich & quot; Dateisystemobjekt.
- Behobene Fehler:
- ZipArchiveInputStream könnte mit einem & quot scheitern; abgeschnitten ZIP & quot; Fehlermeldung für Einträge zwischen 2 GByte und 4 GByte groß.
- TarArchiveInputStream erkennt jetzt spärlich Einträge mit dem oldgnu Format und korrekt berichtet, es kann nicht ihren Inhalt zu extrahieren.
- Die Javadoc ZipArchiveInputStream # überspringen entspricht jetzt der Umsetzung wurde der Code gemacht defensivere.
- ArArchiveInputStream schlägt fehl, wenn Einträge enthalten nur Rohlinge für userId oder groupId.
- ZipFile können Ressourcen auf einige JDKs undicht werden.
- BZip2CompressorInputStream throws IOException, wenn zugrunde liegenden Stream Renditen vorhanden () == 0. Entfernt das Kontroll.
- Der Aufruf von close () auf input von CompressorStreamFactory.createCompressorInputStream () zurückgegeben wird, die zugrunde liegende Eingabestrom nicht schließen.
- TarArchiveOutputStream # Finish schreibt nun alle zwischengespeicherten Daten in den Stream
- Änderungen:
- ZipFile jetzt implementiert abzuschließen, die die zugrunde liegende Datei geschlossen wird.
- Bestimmte tar-Dateien nicht durch ArchiveStreamFactory berücksichtigt.
Anforderungen :
- Java 5 oder höher
Kommentare nicht gefunden