Package org.tukaani.xz
Introduction
This aims to be a complete implementation of XZ data compression in pure Java. Features:
- Full support for the .xz file format specification version 1.2.0
- Single-threaded streamed compression and decompression
- Single-threaded decompression with limited random access support
- Raw streams (no .xz headers) for advanced users, including LZMA2 with preset dictionary
Threading is planned but it is unknown when it will be implemented.
For the latest source code, see the home page of XZ for Java.
Getting started
Start by reading the documentation of XZOutputStream
and XZInputStream
.
If you use XZ inside another file format or protocol,
see also SingleXZInputStream
.
Authors
XZ for Java is developed and maintained by Lasse Collin.Major parts of XZ for Java are based on code written by Igor Pavlov in the LZMA SDK.
Other authors:
- Brett Okken
Many people have contributed improvements or reported bugs. Most of these people are mentioned in the file THANKS.md in the source package.
License
Copyright © The XZ for Java authors and contributors
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
Class Summary Class Description ARM64Options BCJ filter for ARM64 (AArch64) instructions.ARMOptions BCJ filter for little endian ARM instructions.ARMThumbOptions BCJ filter for little endian ARM-Thumb instructions.ArrayCache Caches large arrays for reuse (base class and a dummy cache implementation).BasicArrayCache A basicArrayCache
implementation.CloseIgnoringInputStream AnInputStream
wrapper whoseclose()
does nothing.DeltaInputStream Decodes raw Delta-filtered data (no XZ headers).DeltaOptions Delta filter options.FilterOptions Base class for filter-specific options classes.FinishableOutputStream Output stream that supports finishing without closing the underlying stream.FinishableWrapperOutputStream Wraps an output stream to a finishable output stream for use with raw encoders.IA64Options BCJ filter for Itanium (IA-64) instructions.LZMA2InputStream Decompresses a raw LZMA2 stream (no XZ headers).LZMA2Options LZMA2 compression options.LZMAInputStream Decompresses legacy .lzma files and raw LZMA streams (no .lzma header).LZMAOutputStream Compresses into the legacy .lzma file format or into a raw LZMA stream.PowerPCOptions BCJ filter for big endian PowerPC instructions.ResettableArrayCache An ArrayCache wrapper that remembers what has been allocated and allows returning all allocations to the underlying cache at once.RISCVOptions BCJ filter for RISC-V instructions.SeekableFileInputStream Wraps aRandomAccessFile
in a SeekableInputStream.SeekableInputStream Input stream with random access support.SeekableXZInputStream Decompresses a .xz file in random access mode.SingleXZInputStream Decompresses exactly one XZ Stream in streamed mode (no seeking).SPARCOptions BCJ filter for SPARC.X86Options BCJ filter for x86 (32-bit and 64-bit) instructions.XZ XZ constants.XZInputStream Decompresses a .xz file in streamed mode (no seeking).XZOutputStream Compresses into the .xz file format. -
Exception Summary Exception Description CorruptedInputException Thrown when the compressed input data is corrupt.MemoryLimitException Thrown when the memory usage limit given to the XZ decompressor would be exceeded.UnsupportedOptionsException Thrown when compression options not supported by this implementation are detected.XZFormatException Thrown when the input data is not in the XZ format.XZIOException GenericIOException
specific to this package.