Package org.apache.commons.compress.compressors

# Class CompressorOutputStream<T extends OutputStream>

java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.compress.compressors.CompressorOutputStream<T>

Type Parameters:
  `T` - The underlying OutputStream type.

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

Direct Known Subclasses:
  `BlockLZ4CompressorOutputStream`, `BZip2CompressorOutputStream`, `DeflateCompressorOutputStream`, `FramedLZ4CompressorOutputStream`, `FramedSnappyCompressorOutputStream`, `GzipCompressorOutputStream`, `LZMACompressorOutputStream`, `Pack200CompressorOutputStream`, `SnappyCompressorOutputStream`, `XZCompressorOutputStream`, `ZstdCompressorOutputStream`

public abstract class CompressorOutputStream<T extends OutputStream> extends FilterOutputStream
Abstracts all classes that compress an output stream.

- ## Field Summary

  ### Fields inherited from class java.io.FilterOutputStream

  `out`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompressorOutputStream()`
  Constructs a new instance without a backing OutputStream.
  `CompressorOutputStream(T out)`
  Creates an output stream filter built on top of the specified underlying output stream.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected T`
  `out()`
  Gets the underlying output stream.

  ### Methods inherited from class java.io.FilterOutputStream

  `close, flush, write, write, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CompressorOutputStream

    public CompressorOutputStream()
    Constructs a new instance without a backing OutputStream.

    You must initialize `this.out` after construction.

  - ### CompressorOutputStream

    public CompressorOutputStream(T out)
    Creates an output stream filter built on top of the specified underlying output stream.
    Parameters:
      `out` - the underlying output stream to be assigned to the field `this.out` for later use, or `null` if this instance is to be created without an underlying stream.
    Since:
      1.27.0

- ## Method Details

  - ### out

    protected T out()
    Gets the underlying output stream.
    Returns:
      the underlying output stream.
    Since:
      1.27.0