org.apache.hadoop.io.compress

## Class CompressionInputStream

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

- All Implemented Interfaces:
    Closeable, AutoCloseable, Seekable
  Direct Known Subclasses:
    DecompressorStream, SplitCompressionInputStream

      @InterfaceAudience.Public
       @InterfaceStability.Evolving
      public abstract class CompressionInputStream
      extends InputStream
      implements Seekable

  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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected InputStream` | `in` The input stream to be compressed.
    `protected long` | `maxAvailableData`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `CompressionInputStream(InputStream in)` Create a compression input stream that reads the decompressed bytes from the given stream.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `long` | `getPos()` This method returns the current position in the stream.
    `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.
    `void` | `seek(long pos)` This method is current not supported.
    `boolean` | `seekToNewSource(long targetPos)` This method is current not supported.

    - ### 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.

    - #### maxAvailableData

          protected long maxAvailableData

  - ### Constructor Detail

    - #### CompressionInputStream

          protected CompressionInputStream(InputStream in)
                                    throws IOException

      Create a compression input stream that reads the decompressed bytes from the given stream.
      Parameters:
        `in` - The input stream to be compressed.
      Throws:
        `IOException`

  - ### Method Detail

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      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`

    - #### getPos

          public long getPos()
                      throws IOException

      This method returns the current position in the stream.
      Specified by:
        `getPos` in interface `Seekable`
      Returns:
        Current position in stream as a long
      Throws:
        `IOException`

    - #### seek

          public void seek(long pos)
                    throws UnsupportedOperationException

      This method is current not supported.
      Specified by:
        `seek` in interface `Seekable`
      Throws:
        `UnsupportedOperationException`

    - #### seekToNewSource

          public boolean seekToNewSource(long targetPos)
                                  throws UnsupportedOperationException

      This method is current not supported.
      Throws:
        `UnsupportedOperationException`

Copyright © 2008–2022 Apache Software Foundation. All rights reserved.