Updating compressed archives
For the Snappy and LZ4 formats the amount of memory used during compression is directly proportional to the window size.Traditionally the AR format doesn't allow file names longer than 16 characters.Unfortunately many CPIO implementations use larger block sizes so there may be more zero-byte padding left inside the original input stream after the archive has been consumed completely.stores various attributes including information about the original owner and permissions.Commons Compress calls all formats that compress a single stream of data compressor formats while all formats that collect multiple entries inside a single (potentially compressed) archive are archiver formats.The compressor formats supported are gzip, bzip2, xz, lzma, Pack200, DEFLATE and Z, the archiver formats are 7z, ar, arj, cpio, dump, tar and zip.Commons Compress 1.3 also optionally supports writing archives with file names longer than 16 characters using the BSD dialect, writing the SVR4/GNU dialect is not supported.
To create a compressor writing to a given output by using the algorithm name: that will return false if Commons Compress can detect that an archive uses a feature that is not supported by the current implementation.
If it returns false you should not try to read the entry but skip over it.
For the bzip2, gzip and xz formats a single compressed file may actually consist of several streams that will be concatenated by the command line utilities when decompressing them.
There are two variants that circumvent this limitation in different ways, the GNU/SRV4 and the BSD variant.
Commons Compress 1.0 to 1.2 can only read archives using the GNU/SRV4 variant, support for the BSD variant has been added in Commons Compress 1.3.