Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
  public
  
  
  
  class
  GZIPInputStream
  
  
  
  
  
  
  
  
  
  
    extends InflaterInputStream
  
  
  
  
  
  
  
    
  This class implements a stream filter for reading compressed data in
 the GZIP file format.
  
Summary
| Constants | 
|---|
    
    
        | int | GZIP_MAGICGZIP header magic number.
          
    
 | 
    
    
| Fields | 
|---|
  
    | 
    protected
    
    
    CRC32 | crcCRC-32 for uncompressed data.
      
    
 | 
  
  
    | 
    protected
    
    
    boolean | eosIndicates end of input stream.
      
    
 | 
  
| Inherited fields | 
|---|
  
  | 
      From class
        java.util.zip.InflaterInputStream
        
  
    | 
    protected
    
    
    byte[] | bufInput buffer for decompression.
      
    
 |  
    | 
    protected
    
    
    boolean | closed
      This field was deprecated
      in API level 29.
    This field will be removed from a future version of Android and should not be
 used. Subclasses that access this field need to be modified to keep track of their own
 closed state by overriding close().
      
    
 |  
    | 
    protected
    
    
    Inflater | infDecompressor for this stream.
      
    
 |  
    | 
    protected
    
    
    int | lenLength of input buffer.
      
    
 |  | 
  
  |  | 
| Public methods | 
|---|
  
  
  
    | 
        
        
        
        
        
        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.
        
    
 | 
  
| Inherited methods | 
|---|
| 
    From class
      
        
          java.util.zip.InflaterInputStream
        
      
      
  
  
  
    | 
        
        
        
        
        
        int | 
      available()
      Returns 0 after EOF has been reached, otherwise always return 1.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      close()
      Closes this input stream and releases any system resources associated
 with the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      fill()
      Fills input buffer with more data to decompress.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readlimit)
      Marks the current position in this input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tests if this input stream supports the markandresetmethods. |  
  
  
    | 
        
        
        
        
        
        int | 
      read()
      Reads a byte of uncompressed data.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(byte[] b, int off, int len)
      Reads uncompressed data into an array of bytes.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Repositions this stream to the position at the time the
 markmethod was last called on this input stream. |  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips specified number of bytes of uncompressed data.
        
    
 |  | 
| 
    From class
      
        
          java.io.FilterInputStream
        
      
      
  
  
  
    | 
        
        
        
        
        
        int | 
      available()
      Returns an estimate of the number of bytes that can be read (or
 skipped over) from this input stream without blocking by the next
 caller of a method for this input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      close()
      Closes this input stream and releases any system resources
 associated with the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readlimit)
      Marks the current position in this input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tests if this input stream supports the markandresetmethods. |  
  
  
    | 
        
        
        
        
        
        int | 
      read()
      Reads the next byte of data from this input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(byte[] b, int off, int len)
      Reads up to lenbytes of data from this input stream
 into an array of bytes. |  
  
  
    | 
        
        
        
        
        
        int | 
      read(byte[] b)
      Reads up to b.lengthbytes of data from this
 input stream into an array of bytes. |  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Repositions this stream to the position at the time the
 markmethod was last called on this input stream. |  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips over and discards nbytes of data from the
 input stream. |  | 
| 
    From class
      
        
          java.io.InputStream
        
      
      
  
  
  
    | 
        
        
        
        
        
        int | 
      available()
      Returns an estimate of the number of bytes that can be read (or skipped
 over) from this input stream without blocking, which may be 0, or 0 when
 end of stream is detected.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      close()
      Closes this input stream and releases any system resources associated
 with the stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      mark(int readlimit)
      Marks the current position in this input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      markSupported()
      Tests if this input stream supports the markandresetmethods. |  
  
  
    | 
        
        
        static
        
        
        InputStream | 
      nullInputStream()
      Returns a new InputStreamthat reads no bytes. |  
  
  
    | 
        
        
        
        
        
        int | 
      read(byte[] b)
      Reads some number of bytes from the input stream and stores them into
 the buffer array b. |  
  
  
    | 
        abstract
        
        
        
        
        int | 
      read()
      Reads the next byte of data from the input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      read(byte[] b, int off, int len)
      Reads up to lenbytes of data from the input stream into
 an array of bytes. |  
  
  
    | 
        
        
        
        
        
        byte[] | 
      readAllBytes()
      Reads all remaining bytes from the input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        int | 
      readNBytes(byte[] b, int off, int len)
      Reads the requested number of bytes from the input stream into the given
 byte array.
        
    
 |  
  
  
    | 
        
        
        
        
        
        byte[] | 
      readNBytes(int len)
      Reads up to a specified number of bytes from the input stream.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      reset()
      Repositions this stream to the position at the time the
 markmethod was last called on this input stream. |  
  
  
    | 
        
        
        
        
        
        long | 
      skip(long n)
      Skips over and discards nbytes of data from this input
 stream. |  
  
  
    | 
        
        
        
        
        
        void | 
      skipNBytes(long n)
      Skips over and discards exactly nbytes of data from this input
 stream. |  
  
  
    | 
        
        
        
        
        
        long | 
      transferTo(OutputStream out)
      Reads all bytes from this input stream and writes the bytes to the
 given output stream in the order that they are read.
        
    
 |  | 
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
| 
    From interface
      
        
          java.io.Closeable
        
      
      
  
  
  
    | 
        abstract
        
        
        
        
        void | 
      close()
      Closes this stream and releases any system resources associated
 with it.
        
    
 |  | 
|  | 
Constants
    GZIP_MAGIC
    
public static final int GZIP_MAGIC
    
    
    
  GZIP header magic number.
    
      Constant Value:
      
          35615
          (0x00008b1f)
      
    
 
Fields
    crc
    
protected CRC32 crc
    
    
    
  CRC-32 for uncompressed data.
    
 
    eos
    
protected boolean eos
    
    
    
  Indicates end of input stream.
    
 
Public constructors
    
    
public GZIPInputStream (InputStream in)
    
    
    
  Creates a new input stream with a default buffer size.
    
    | Parameters | 
|---|
      
        | in | InputStream: 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 | 
      
  
 
    
    
public GZIPInputStream (InputStream in, 
                int size)
    
    
    
  Creates a new input stream with the specified buffer size.
 Android-note: Android limits the number of UnbufferedIO operations that can be performed, so
 consider using buffered inputs with this class. More information can be found in the
 
 UnbufferedIO and
  StrictMode
 documentation.
    
    | Parameters | 
|---|
      
        | in | InputStream: the input stream | 
      
        | size | int: the input buffer size | 
    
      
  
 
Public methods
    close
    
public void close ()
    
    
    
  Closes this input stream and releases any system resources associated
 with the stream.
      
  
 
    read
    
public int read (byte[] buf, 
                int off, 
                int len)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | buf | byte: the buffer into which the data is read | 
      
        | off | int: the start offset in the destination arrayb | 
      
        | len | int: the maximum number of bytes read | 
    
    
      | Returns | 
|---|
      
        | int | the actual number of bytes read, or -1 if the end of the
          compressed input stream is reached | 
    
      
  
 
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]