Class XZCompressorOutputStream

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.compress.compressors.CompressorOutputStream<org.tukaani.xz.XZOutputStream>
org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class XZCompressorOutputStream extends CompressorOutputStream<org.tukaani.xz.XZOutputStream>
XZ compressor. 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
  • Constructor Details

    • XZCompressorOutputStream

      public XZCompressorOutputStream(OutputStream outputStream) throws IOException
      Creates a new XZ compressor using the default LZMA2 options. This is equivalent to XZCompressorOutputStream(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 wrap
      preset - the preset
      Throws:
      IOException - on error
  • Method Details