All Implemented Interfaces:
Closeable, AutoCloseable

public class GZIPInputStream
extends InflaterInputStream

This class implements a stream filter for reading compressed data in the GZIP file format.

Since:
1.1
See Also:
InflaterInputStream
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected CRC32 crc

    CRC-32 for uncompressed data.

    protected boolean eos

    Indicates end of input stream.

    static int GZIP_MAGIC

    GZIP header magic number.

  • Constructor Summary

    Constructors 
    Constructor Description
    GZIPInputStream​(InputStream in)

    Creates a new input stream with a default buffer size.

    GZIPInputStream​(InputStream in, int size)

    Creates a new input stream with the specified buffer size.

  • Method Summary

    Modifier and Type Method Description
    void close()

    Closes this input stream and releases any system resources associated with the stream.

    int read​(byte[] buf, int off, int len)

    Reads uncompressed data into an array of bytes.

    Methods declared in class java.lang.Object

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

  • Field Details

    • crc

      CRC-32 for uncompressed data.

    • eos

      protected boolean eos

      Indicates end of input stream.

    • GZIP_MAGIC

      public static final int GZIP_MAGIC

      GZIP header magic number.

      See Also:
      Constant Field Values
  • Constructor Details

    • GZIPInputStream

      Creates a new input stream with the specified buffer size.

      Parameters:
      in - the input stream
      size - the input buffer size
      Throws:
      ZipException - if a GZIP format error has occurred or the compression method used is unsupported
      IOException - if an I/O error has occurred
      IllegalArgumentException - if size <= 0
    • GZIPInputStream

      Creates a new input stream with a default buffer size.

      Parameters:
      in - the input stream
      Throws:
      ZipException - if a GZIP format error has occurred or the compression method used is unsupported
      IOException - if an I/O error has occurred
  • Method Details

    • read

      public int read​(byte[] buf, int off, int len) throws IOException

      Reads uncompressed data into an array of bytes. If len is not zero, the method will block until some input can be decompressed; otherwise, no bytes are read and 0 is returned.

      Overrides:
      read in class InflaterInputStream
      Parameters:
      buf - the buffer into which the data is read
      off - the start offset in the destination array b
      len - the maximum number of bytes read
      Returns:
      the actual number of bytes read, or -1 if the end of the compressed input stream is reached
      Throws:
      NullPointerException - If buf is null.
      IndexOutOfBoundsException - If off is negative, len is negative, or len is greater than buf.length - off
      ZipException - if the compressed input data is corrupt.
      IOException - if an I/O error has occurred.
      See Also:
      FilterInputStream.in
    • close

      Closes this input stream and releases any system resources associated with the stream.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InflaterInputStream
      Throws:
      IOException - if an I/O error has occurred
      See Also:
      FilterInputStream.in