Class XZCompressorOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.compress.compressors.CompressorOutputStream
-
- org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class XZCompressorOutputStream extends CompressorOutputStream
XZ compressor.- Since:
- 1.4
-
-
Constructor Summary
Constructors Constructor Description XZCompressorOutputStream(java.io.OutputStream outputStream)
Creates a new XZ compressor using the default LZMA2 options.XZCompressorOutputStream(java.io.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)
-
-
-
Constructor Detail
-
XZCompressorOutputStream
public XZCompressorOutputStream(java.io.OutputStream outputStream) throws java.io.IOException
Creates a new XZ compressor using the default LZMA2 options. This is equivalent toXZCompressorOutputStream(outputStream, 6)
.- Parameters:
outputStream
- the stream to wrap- Throws:
java.io.IOException
- on error
-
XZCompressorOutputStream
public XZCompressorOutputStream(java.io.OutputStream outputStream, int preset) throws java.io.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:
java.io.IOException
- on error
-
-
Method Detail
-
write
public void write(int b) throws java.io.IOException
- Specified by:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] buf, int off, int len) throws java.io.IOException
- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.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 interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
finish
public void finish() throws java.io.IOException
Finishes compression without closing the underlying stream. No more data can be written to this stream after finishing.- Throws:
java.io.IOException
- on error
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
-