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.
-
ClassDescriptionBCJ filter for ARM64 (AArch64) instructions.BCJ filter for little endian ARM instructions.BCJ filter for little endian ARM-Thumb instructions.Caches large arrays for reuse (base class and a dummy cache implementation).A basic
ArrayCache
implementation.AnInputStream
wrapper whoseclose()
does nothing.Thrown when the compressed input data is corrupt.Decodes raw Delta-filtered data (no XZ headers).Delta filter options.Base class for filter-specific options classes.Output stream that supports finishing without closing the underlying stream.Wraps an output stream to a finishable output stream for use with raw encoders.BCJ filter for Itanium (IA-64) instructions.Decompresses a raw LZMA2 stream (no XZ headers).LZMA2 compression options.Decompresses legacy .lzma files and raw LZMA streams (no .lzma header).Compresses into the legacy .lzma file format or into a raw LZMA stream.Thrown when the memory usage limit given to the XZ decompressor would be exceeded.BCJ filter for big endian PowerPC instructions.An ArrayCache wrapper that remembers what has been allocated and allows returning all allocations to the underlying cache at once.BCJ filter for RISC-V instructions.Wraps aRandomAccessFile
in a SeekableInputStream.Input stream with random access support.Decompresses a .xz file in random access mode.Decompresses exactly one XZ Stream in streamed mode (no seeking).BCJ filter for SPARC.Thrown when compression options not supported by this implementation are detected.BCJ filter for x86 (32-bit and 64-bit) instructions.XZ constants.Thrown when the input data is not in the XZ format.Decompresses a .xz file in streamed mode (no seeking).GenericIOException
specific to this package.Compresses into the .xz file format.