Class XZCompressorOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.compress.compressors.CompressorOutputStream
-
- org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
-
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
public class XZCompressorOutputStream extends CompressorOutputStream
XZ compressor.- Since:
- 1.4
-
-
Constructor Summary
Constructors Constructor Description XZCompressorOutputStream(OutputStream outputStream)
Creates a new XZ compressor using the default LZMA2 options.XZCompressorOutputStream(OutputStream outputStream, int preset)
Creates a new XZ compressor using the specified LZMA2 preset level.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
finish()
Finishes compression without closing the underlying stream.void
flush()
Flushes the encoder and callsoutputStream.flush()
.void
write(byte[] buf, int off, int len)
void
write(int b)
-
Methods inherited from class java.io.OutputStream
nullOutputStream, write
-
-
-
-
Constructor Detail
-
XZCompressorOutputStream
public XZCompressorOutputStream(OutputStream outputStream) throws IOException
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
public XZCompressorOutputStream(OutputStream outputStream, int preset) throws IOException
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 Detail
-
write
public void write(int b) throws IOException
- Specified by:
write
in classOutputStream
- Throws:
IOException
-
write
public void write(byte[] buf, int off, int len) throws IOException
- Overrides:
write
in classOutputStream
- Throws:
IOException
-
flush
public void flush() throws IOException
Flushes the encoder and callsoutputStream.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.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
-
finish
public void finish() throws IOException
Finishes compression without closing the underlying stream. No more data can be written to this stream after finishing.- Throws:
IOException
- on error
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- Throws:
IOException
-
-