XZ
Select XZ with Compression.xz(); Decompressor detects it from its magic number. It requires org.tukaani:xz at runtime; see Additional Formats.
Options: preset (0 to 9; default 6), memoryLimitKiB (reading limit; default 256 MiB) and decompressConcatenated.
Decompressor enforces the default limits; a stream that expands past a ratio of 100 after the first MiB throws LimitExceededException.
Example Usage
XZ Compression
try (Compressor compressor = Compressor.builder(
Path.of("example.xz"), Compression.xz().preset(6))
.build()) {
compressor.write(Path.of("path/to/file.txt"));
}
XZ Decompression
Compression xz = Compression.xz().decompressConcatenated(true);
try (Decompressor decompressor =
Decompressor.builder(Path.of("example.xz"), xz).build()) {
decompressor.write(Path.of("path/to/file.txt"));
}