Module java.base
Package java.util.zip

Class GZIPInputStream

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 Details

    • crc

      protected CRC32 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

      public GZIPInputStream(InputStream in, int size) throws IOException
      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

      public GZIPInputStream(InputStream in) throws IOException
      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

      public void close() throws IOException
      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