1*ba8755cbSAndroid Build Coastguard Worker<?xml version="1.0"?> 2*ba8755cbSAndroid Build Coastguard Worker<!-- 3*ba8755cbSAndroid Build Coastguard Worker 4*ba8755cbSAndroid Build Coastguard Worker Licensed to the Apache Software Foundation (ASF) under one or more 5*ba8755cbSAndroid Build Coastguard Worker contributor license agreements. See the NOTICE file distributed with 6*ba8755cbSAndroid Build Coastguard Worker this work for additional information regarding copyright ownership. 7*ba8755cbSAndroid Build Coastguard Worker The ASF licenses this file to You under the Apache License, Version 2.0 8*ba8755cbSAndroid Build Coastguard Worker (the "License"); you may not use this file except in compliance with 9*ba8755cbSAndroid Build Coastguard Worker the License. You may obtain a copy of the License at 10*ba8755cbSAndroid Build Coastguard Worker 11*ba8755cbSAndroid Build Coastguard Worker http://www.apache.org/licenses/LICENSE-2.0 12*ba8755cbSAndroid Build Coastguard Worker 13*ba8755cbSAndroid Build Coastguard Worker Unless required by applicable law or agreed to in writing, software 14*ba8755cbSAndroid Build Coastguard Worker distributed under the License is distributed on an "AS IS" BASIS, 15*ba8755cbSAndroid Build Coastguard Worker WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16*ba8755cbSAndroid Build Coastguard Worker See the License for the specific language governing permissions and 17*ba8755cbSAndroid Build Coastguard Worker limitations under the License. 18*ba8755cbSAndroid Build Coastguard Worker 19*ba8755cbSAndroid Build Coastguard Worker--> 20*ba8755cbSAndroid Build Coastguard Worker<document> 21*ba8755cbSAndroid Build Coastguard Worker <properties> 22*ba8755cbSAndroid Build Coastguard Worker <title>Overview</title> 23*ba8755cbSAndroid Build Coastguard Worker <author email="[email protected]">Commons Documentation Team</author> 24*ba8755cbSAndroid Build Coastguard Worker </properties> 25*ba8755cbSAndroid Build Coastguard Worker <body> 26*ba8755cbSAndroid Build Coastguard Worker <section name="Apache Commons Compress™"> 27*ba8755cbSAndroid Build Coastguard Worker <p> 28*ba8755cbSAndroid Build Coastguard Worker The Apache Commons Compress library defines an API for 29*ba8755cbSAndroid Build Coastguard Worker working with ar, cpio, Unix dump, tar, zip, gzip, XZ, 30*ba8755cbSAndroid Build Coastguard Worker Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE, lz4, 31*ba8755cbSAndroid Build Coastguard Worker Brotli, Zstandard, DEFLATE64 and Z files. 32*ba8755cbSAndroid Build Coastguard Worker </p> 33*ba8755cbSAndroid Build Coastguard Worker <p> 34*ba8755cbSAndroid Build Coastguard Worker The code in this component has many origins: 35*ba8755cbSAndroid Build Coastguard Worker </p> 36*ba8755cbSAndroid Build Coastguard Worker <ul> 37*ba8755cbSAndroid Build Coastguard Worker <li>The bzip2, tar and zip support came from Avalon's 38*ba8755cbSAndroid Build Coastguard Worker Excalibur, but originally from Ant, as far as life in 39*ba8755cbSAndroid Build Coastguard Worker Apache goes. The tar package is originally Tim Endres' 40*ba8755cbSAndroid Build Coastguard Worker public domain package. The bzip2 package is based on 41*ba8755cbSAndroid Build Coastguard Worker the work done by Keiron Liddle as well as Julian Seward's 42*ba8755cbSAndroid Build Coastguard Worker <a href="http://www.bzip.org/index.html">libbzip2</a>. 43*ba8755cbSAndroid Build Coastguard Worker It has migrated 44*ba8755cbSAndroid Build Coastguard Worker via:<br/> Ant -> Avalon-Excalibur -> Commons-IO 45*ba8755cbSAndroid Build Coastguard Worker -> Commons-Compress.</li> 46*ba8755cbSAndroid Build Coastguard Worker <li>The cpio package has been contributed by Michael Kuss 47*ba8755cbSAndroid Build Coastguard Worker and 48*ba8755cbSAndroid Build Coastguard Worker the <a href="http://jrpm.sourceforge.net/">jRPM</a> 49*ba8755cbSAndroid Build Coastguard Worker project.</li> 50*ba8755cbSAndroid Build Coastguard Worker </ul> 51*ba8755cbSAndroid Build Coastguard Worker 52*ba8755cbSAndroid Build Coastguard Worker </section> 53*ba8755cbSAndroid Build Coastguard Worker 54*ba8755cbSAndroid Build Coastguard Worker <section name="Status"> 55*ba8755cbSAndroid Build Coastguard Worker <p>The current release is 1.18 and requires Java 7.</p> 56*ba8755cbSAndroid Build Coastguard Worker 57*ba8755cbSAndroid Build Coastguard Worker <p>Below we highlight some new features, for a full list 58*ba8755cbSAndroid Build Coastguard Worker of changes see the <a href="changes-report.html">Changes 59*ba8755cbSAndroid Build Coastguard Worker Report</a>.</p> 60*ba8755cbSAndroid Build Coastguard Worker 61*ba8755cbSAndroid Build Coastguard Worker <subsection name="What's new in 1.18?"> 62*ba8755cbSAndroid Build Coastguard Worker <ul> 63*ba8755cbSAndroid Build Coastguard Worker <li>The CPIO package now properly handles file names 64*ba8755cbSAndroid Build Coastguard Worker using a mult-byte encoding.</li> 65*ba8755cbSAndroid Build Coastguard Worker <li>ZipArchiveInputStream can now deal with APK files 66*ba8755cbSAndroid Build Coastguard Worker containing an APK signing block.</li> 67*ba8755cbSAndroid Build Coastguard Worker <li>It is now possible to specifiy various parameters 68*ba8755cbSAndroid Build Coastguard Worker for Zstd output.</li> 69*ba8755cbSAndroid Build Coastguard Worker </ul> 70*ba8755cbSAndroid Build Coastguard Worker </subsection> 71*ba8755cbSAndroid Build Coastguard Worker </section> 72*ba8755cbSAndroid Build Coastguard Worker 73*ba8755cbSAndroid Build Coastguard Worker <section name="Documentation"> 74*ba8755cbSAndroid Build Coastguard Worker <p>The compress component is split into <em>compressors</em> and 75*ba8755cbSAndroid Build Coastguard Worker <em>archivers</em>. While <em>compressors</em> 76*ba8755cbSAndroid Build Coastguard Worker (un)compress streams that usually store a single 77*ba8755cbSAndroid Build Coastguard Worker entry, <em>archivers</em> deal with archives that contain 78*ba8755cbSAndroid Build Coastguard Worker structured content represented 79*ba8755cbSAndroid Build Coastguard Worker by <code>ArchiveEntry</code> instances which in turn 80*ba8755cbSAndroid Build Coastguard Worker usually correspond to single files or directories.</p> 81*ba8755cbSAndroid Build Coastguard Worker 82*ba8755cbSAndroid Build Coastguard Worker <p>Currently the bzip2, Pack200, XZ, gzip, lzma, brotli, 83*ba8755cbSAndroid Build Coastguard Worker Zstandard and Z formats are 84*ba8755cbSAndroid Build Coastguard Worker supported as compressors where gzip support is mostly provided by 85*ba8755cbSAndroid Build Coastguard Worker the <code>java.util.zip</code> package and Pack200 support 86*ba8755cbSAndroid Build Coastguard Worker by the <code>java.util.jar</code> package of the Java 87*ba8755cbSAndroid Build Coastguard Worker class library. XZ and lzma support is provided by the public 88*ba8755cbSAndroid Build Coastguard Worker domain <a href="https://tukaani.org/xz/java.html">XZ for 89*ba8755cbSAndroid Build Coastguard Worker Java</a> library. Brotli support is provided by the MIT 90*ba8755cbSAndroid Build Coastguard Worker licensed <a href="https://github.com/google/brotli">Google 91*ba8755cbSAndroid Build Coastguard Worker Brotli decoder</a>. Zstandard support is provided by the BSD 92*ba8755cbSAndroid Build Coastguard Worker licensed <a href="https://github.com/luben/zstd-jni">Zstd-jni</a>. 93*ba8755cbSAndroid Build Coastguard Worker As of Commons Compress 1.18 support for the DEFLATE64, Z and Brotli 94*ba8755cbSAndroid Build Coastguard Worker formats is read-only.</p> 95*ba8755cbSAndroid Build Coastguard Worker 96*ba8755cbSAndroid Build Coastguard Worker <p>The ar, arj, cpio, dump, tar, 7z and zip formats are supported as 97*ba8755cbSAndroid Build Coastguard Worker archivers where the <a href="zip.html">zip</a> 98*ba8755cbSAndroid Build Coastguard Worker implementation provides capabilities that go beyond the 99*ba8755cbSAndroid Build Coastguard Worker features found in java.util.zip. As of Commons Compress 100*ba8755cbSAndroid Build Coastguard Worker 1.18 support for the dump and arj formats is 101*ba8755cbSAndroid Build Coastguard Worker read-only - 7z can read most compressed and encrypted 102*ba8755cbSAndroid Build Coastguard Worker archives but only write unencrypted ones. LZMA(2) support 103*ba8755cbSAndroid Build Coastguard Worker in 7z requires <a href="https://tukaani.org/xz/java.html">XZ for 104*ba8755cbSAndroid Build Coastguard Worker Java</a> as well.</p> 105*ba8755cbSAndroid Build Coastguard Worker 106*ba8755cbSAndroid Build Coastguard Worker <p>The compress component provides abstract base classes for 107*ba8755cbSAndroid Build Coastguard Worker compressors and archivers together with factories that can 108*ba8755cbSAndroid Build Coastguard Worker be used to choose implementations by algorithm name. In 109*ba8755cbSAndroid Build Coastguard Worker the case of input streams the factories can also be used 110*ba8755cbSAndroid Build Coastguard Worker to guess the format and provide the matching 111*ba8755cbSAndroid Build Coastguard Worker implementation.</p> 112*ba8755cbSAndroid Build Coastguard Worker 113*ba8755cbSAndroid Build Coastguard Worker <ul> 114*ba8755cbSAndroid Build Coastguard Worker <li>The <a href="examples.html">user guide</a> contains 115*ba8755cbSAndroid Build Coastguard Worker more detailed information and some examples.</li> 116*ba8755cbSAndroid Build Coastguard Worker <li>The <a href="limitations.html">known limitations and 117*ba8755cbSAndroid Build Coastguard Worker problems</a> page lists the currently known problems 118*ba8755cbSAndroid Build Coastguard Worker grouped by the format they apply to.</li> 119*ba8755cbSAndroid Build Coastguard Worker <li>The <a href="apidocs/index.html">Javadoc</a> of the latest GIT</li> 120*ba8755cbSAndroid Build Coastguard Worker <li>The <a href="https://git-wip-us.apache.org/repos/asf?p=commons-compress.git;a=tree">GIT 121*ba8755cbSAndroid Build Coastguard Worker repository</a> can be browsed.</li> 122*ba8755cbSAndroid Build Coastguard Worker </ul> 123*ba8755cbSAndroid Build Coastguard Worker </section> 124*ba8755cbSAndroid Build Coastguard Worker <section name="Releases"> 125*ba8755cbSAndroid Build Coastguard Worker <p> 126*ba8755cbSAndroid Build Coastguard Worker <a href="https://commons.apache.org/compress/download_compress.cgi">Download now!</a> 127*ba8755cbSAndroid Build Coastguard Worker </p> 128*ba8755cbSAndroid Build Coastguard Worker </section> 129*ba8755cbSAndroid Build Coastguard Worker </body> 130*ba8755cbSAndroid Build Coastguard Worker</document> 131