Class XZCompressorOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.compress.CompressFilterOutputStream<org.tukaani.xz.XZOutputStream>
org.apache.commons.compress.compressors.CompressorOutputStream<org.tukaani.xz.XZOutputStream>
org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
Compresses an output stream using the XZ and LZMA2 compression options.
For example:
XZCompressorOutputStream s = XZCompressorOutputStream.builder()
.setPath(path)
.setLzma2Options(new LZMA2Options(...))
.get();
Calling flush
Calling FilterOutputStream.flush() flushes the encoder and calls outputStream.flush(). All buffered pending data will then be decompressible from the output
stream. Calling this function very often may increase the compressed file size a lot.
- Since:
- 1.4
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionXZCompressorOutputStream(OutputStream outputStream) Creates a new XZ compressor using the default LZMA2 options.XZCompressorOutputStream(OutputStream outputStream, int preset) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Constructs a new builder ofXZCompressorOutputStream.voidfinish()Finishes compression without closing the underlying stream.voidwrite(byte[] buf, int off, int len) Methods inherited from class org.apache.commons.compress.CompressFilterOutputStream
checkOpen, close, isClosed, isFinished, out, write, write, writeUsAscii, writeUsAsciiRaw, writeUtf8Methods inherited from class java.io.FilterOutputStream
flush, write, write
-
Constructor Details
-
XZCompressorOutputStream
Creates a new XZ compressor using the default LZMA2 options. This is equivalent toXZCompressorOutputStream(outputStream, 6).- Parameters:
outputStream- the stream to wrap- Throws:
IOException- on error
-
XZCompressorOutputStream
@Deprecated public XZCompressorOutputStream(OutputStream outputStream, int preset) throws IOException Deprecated.Usebuilder().Creates a new XZ compressor using the specified LZMA2 preset level.The presets 0-3 are fast presets with medium compression. The presets 4-6 are fairly slow presets with high compression. The default preset is 6.
The presets 7-9 are like the preset 6 but use bigger dictionaries and have higher compressor and decompressor memory requirements. Unless the uncompressed size of the file exceeds 8 MiB, 16 MiB, or 32 MiB, it is waste of memory to use the presets 7, 8, or 9, respectively.
- Parameters:
outputStream- the stream to wrappreset- the preset- Throws:
IOException- on error
-
-
Method Details
-
builder
Constructs a new builder ofXZCompressorOutputStream.- Returns:
- a new builder of
XZCompressorOutputStream. - Since:
- 1.28.0
-
finish
Finishes compression without closing the underlying stream. No more data can be written to this stream after finishing.- Overrides:
finishin classCompressFilterOutputStream<org.tukaani.xz.XZOutputStream>- Throws:
IOException- on error
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
builder().