org.apache.commons.compress.compressors.xz
Class XZCompressorOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.apache.commons.compress.compressors.CompressorOutputStream
          extended by org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class XZCompressorOutputStream
extends CompressorOutputStream

XZ compressor.

Since:
Commons Compress 1.4

Constructor Summary
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
 void close()
          
 void finish()
          Finishes compression without closing the underlying stream.
 void flush()
          Flushes the encoder and calls outputStream.flush().
 void write(byte[] buf, int off, int len)
          
 void write(int b)
          
 
Methods inherited from class java.io.OutputStream
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XZCompressorOutputStream

public XZCompressorOutputStream(OutputStream outputStream)
                         throws IOException
Creates a new XZ compressor using the default LZMA2 options. This is equivalent to XZCompressorOutputStream(6).

Throws:
IOException

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.

Throws:
IOException
Method Detail

write

public void write(int b)
           throws IOException

Specified by:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws IOException

Overrides:
write in class OutputStream
Throws:
IOException

flush

public void flush()
           throws IOException
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.

Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
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

close

public void close()
           throws IOException

Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException


Copyright © 2012 Apache Software Foundation. All Rights Reserved.