Apache Commons Comprimeren ondersteunt zowel bestand streams (via compressoren) en gestructureerde content (via archivers).
De bibliotheek kan worden gebruikt voor compressie en decompressie operaties werken met een relatief groot aantal archiefformaten, een van de bekende dergelijke oplossingen in het Java gemeenschap.
De bibliotheek is niet perfect, een aantal problemen nog steeds in ontwikkeling is voor elk archief bestandsformaat, maar over het algemeen, als je nodig hebt om een groot aantal compressieformaten ondersteunen en wil niet te omvangrijke individuele bibliotheken gebruiken voor elk formaat, de Commons Comprimeren pakket kan uw beste antwoord zijn
Kenmerken .
- Ondersteunde archief bestandsformaten:
- 7z
- ar
- arj
- bzip2
- cpio
- Deflate
- gzip
- lzma
- Pack200
- pittige
- tar
- Unix dump
- XZ
- Zip
Wat is nieuw in deze release:
- De pittige, ar en teer inputstreams kan mislukken om te lezen uit een niet gebufferde stream in sommige gevallen.
- IOUtils # skip misschien minder bytes dan gevraagd, ook al kan meer worden gelezen uit de beek over te slaan.
- ArchiveStreams nu valideren is er een huidige vermelding voor het lezen of schrijven invoer van gegevens.
- ArjArchiveInputStream # canReadEntryData testte de huidige vermelding van de stroom in plaats van haar betoog.
- changeset # verwijderen en deleteDir nu goed omgaan met niet nader genoemde items.
- Toegevoegd een paar null controles om de robuustheid te verbeteren.
- TarArchiveInputStream nagelaten archieven met lege gid / uid velden te lezen.
- TarArchiveInputStream nu weer een uitzondering wanneer zij tegenkomt een afgeknotte archief tijdens het lezen van de laatste invoer.
- Aangepast TarArchiveInputStream # doorgaan naar de gewijzigde IOUtils # overslaan methode. Dankzij BELUGA BEHR.
Wat is nieuw in versie 1.7:.
- Alleen-lezen ondersteuning voor Snappy compressie
- Alleen-lezen ondersteuning voor .Z gecomprimeerde bestanden.
- ZipFile en ZipArchiveInputStream nu ondersteuning voor het lezen van data gecomprimeerd met krimpende methode.
- GzipCompressorOutputStream ondersteunt nu het instellen van het compressieniveau en de header metadata (bestandsnaam, commentaar, wijziging tijd, het besturingssysteem en de extra vlaggen)
- ZipFile en ZipArchiveInputStream nu ondersteuning voor het lezen van data gecomprimeerd met de imploderen methode.
- ZipFile en de 7z bestand klassen nu implementeren Afsluitbaar en kan gebruikt worden in de try-met-middelen constructies.
Wat is nieuw in versie 1.5:
- CompressorStreamFactory heeft een optie om de decompressie streams die de volledige decomprimeren creëren input voor formaten die meerdere aaneengeschakelde streams te ondersteunen.
Wat is nieuw in versie 1.4:
- Ondersteuning voor de XZ-formaat is toegevoegd
Wat is nieuw in versie 1.3:
- Ondersteuning voor de Pack200 formaat is toegevoegd
- Alleen-lezen ondersteuning voor het formaat dat wordt gebruikt door de Unix dump (8) gereedschap is toegevoegd.
Wat is nieuw in versie 1.2:
- Nieuwe functies:
- ZipArchiveEntry heeft een nieuwe methode getRawName dat de oorspronkelijke bytes waaruit de naam geeft. Hierdoor kan de gebruiker de code om de codering te detecteren.
- TarArchiveEntry biedt toegang tot de vlaggen die bepalen of het een gearchiveerd symbolische link, pijp of andere & quot; ongewoon & quot; bestandssysteem object.
- Vaste Bugs:
- ZipArchiveInputStream kon mislukken met een & quot; Afgeknot ZIP & quot; foutmelding voor inzendingen tussen 2 GByte en 4 GB in grootte.
- TarArchiveInputStream herkent nu schaars inzendingen met de oldgnu formaat en de juiste meldt het kan niet de inhoud uit te pakken.
- De Javadoc voor ZipArchiveInputStream # overslaan nu overeenkomt met de implementatie, is de code is meer defensieve gemaakt.
- ArArchiveInputStream mislukt als vermeldingen bevatten enkel blanks voor userId of groupId.
- ZipFile kunnen middelen lekken op sommige JDK's.
- BZip2CompressorInputStream gooit IOException als onderliggende stroom terug beschikbaar () == 0. Verwijderd de cheque.
- Calling close () op InputStream geretourneerd door CompressorStreamFactory.createCompressorInputStream () niet de onderliggende inputstroom sluiten.
- TarArchiveOutputStream # afwerking schrijft nu alle gebufferde data naar de beek
- Wijzigingen:
- ZipFile implementeert nu af te ronden, die het onderliggende bestand wordt gesloten.
- Bepaalde tar bestanden niet herkend door ArchiveStreamFactory.
Eisen
- Java 5 of hoger
Reacties niet gevonden