## org.apache.hadoop.io.compress
Class CompressionOutputStream

    java.lang.Object
      java.io.OutputStream
          org.apache.hadoop.io.compress.CompressionOutputStream

All Implemented Interfaces:
  Closeable, Flushable

Direct Known Subclasses:
  CompressorStream

    public abstract class CompressionOutputStream

extends OutputStream

A compression output stream.

Field Summary
`protected OutputStream` `out` The output stream to be compressed.

Constructor Summary
`protected` `CompressionOutputStream(OutputStream out)` Create a compression output stream that writes the compressed bytes to the given stream.

Method Summary
`void` `close()`
`abstract void` `finish()` Finishes writing compressed data to the output stream without closing the underlying stream.
`void` `flush()`
`abstract void` `resetState()` Reset the compression to the initial state.
`abstract void` `write(byte[] b, int off, int len)` Write compressed bytes to the stream.

Methods inherited from class java.io.OutputStream
`write, write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### out

    protected final OutputStream out

  The output stream to be compressed.

Constructor Detail

### CompressionOutputStream

    protected CompressionOutputStream(OutputStream out)

  Create a compression output stream that writes the compressed bytes to the given stream.

  Parameters:
    `out` -

Method Detail

### close

    public void close()
               throws IOException

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

### flush

    public void flush()
               throws IOException

  Specified by:
    `flush` in interface `Flushable`
  Overrides:
    `flush` in class `OutputStream`
  Throws:
    `IOException`

### write

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

  Write compressed bytes to the stream. Made abstract to prevent leakage to underlying stream.

  Overrides:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### finish

    public abstract void finish()
                         throws IOException

  Finishes writing compressed data to the output stream without closing the underlying stream.

  Throws:
    `IOException`

### resetState

    public abstract void resetState()
                             throws IOException

  Reset the compression to the initial state. Does not reset the underlying stream.

  Throws:
    `IOException`

Copyright © 2009 The Apache Software Foundation