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

    java.lang.Object
      java.io.InputStream
          org.apache.hadoop.io.compress.CompressionInputStream

All Implemented Interfaces:
  Closeable

Direct Known Subclasses:
  DecompressorStream

    public abstract class CompressionInputStream

extends InputStream

A compression input stream.

Implementations are assumed to be buffered. This permits clients to reposition the underlying input stream then call `resetState()`, without having to also synchronize client buffers.

Field Summary
`protected InputStream` `in` The input stream to be compressed.

Constructor Summary
`protected` `CompressionInputStream(InputStream in)` Create a compression input stream that reads the decompressed bytes from the given stream.

Method Summary
`void` `close()`
`abstract int` `read(byte[] b, int off, int len)` Read bytes from the stream.
`abstract void` `resetState()` Reset the decompressor to its initial state and discard any buffered data, as the underlying stream may have been repositioned.

Methods inherited from class java.io.InputStream
`available, mark, markSupported, read, read, reset, skip`

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

Field Detail

### in

    protected final InputStream in

  The input stream to be compressed.

Constructor Detail

### CompressionInputStream

    protected CompressionInputStream(InputStream in)

  Create a compression input stream that reads the decompressed bytes from the given stream.

  Parameters:
    `in` - The input stream to be compressed.

Method Detail

### close

    public void close()
               throws IOException

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

### read

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

  Read bytes from the stream. Made abstract to prevent leakage to underlying stream.

  Overrides:
    `read` in class `InputStream`
  Throws:
    `IOException`

### resetState

    public abstract void resetState()
                             throws IOException

  Reset the decompressor to its initial state and discard any buffered data, as the underlying stream may have been repositioned.

  Throws:
    `IOException`

Copyright © 2009 The Apache Software Foundation