Open In App

Java.util.zip.GZIPInputStream class in Java

Last Updated : 12 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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

Constructors

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

Methods :

  • void close() : Closes this input stream and releases any system resources associated with the stream.
    Syntax :public void close()
               throws IOException
    Specified by:
    close in interface Closeable
    Specified by:
    close in interface AutoCloseable
    Overrides:
    close in class InflaterInputStream
    Throws:
    IOException 
  • 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.
    Syntax :public int read(byte[] buf,
           int off,
           int len)
             throws IOException
    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
    IndexOutOfBoundsException
    ZipException
    IOException 

Methods inherited from class java.util.zip.InflaterInputStream
available, fill, mark, markSupported, read, reset, skip
Methods inherited from class java.io.FilterInputStream
read
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Program :




                                                                                
//Java program demonstrating GZipInputStream methods 
  
import java.io.FileInputStream;                 
import java.io.FileOutputStream;     
import java.io.IOException;                 
import java.util.Arrays;
import java.util.zip.GZIPInputStream; 
  
class GZipInputStreamDemo         
{                                                                             
    public static void main(String[] args) throws IOException 
    {                                                                                             
        FileInputStream fis = new FileInputStream("file.txt"); 
        GZIPInputStream gzis = new GZIPInputStream(fis);    
          
        //Uncompressed FileContents         
        //01234567890 
        byte b[]=new byte[10];
                                                      
        //skipping 1 byte     
        gzis.skip(1);
          
        //illustrating available() and 
        //read(byte b[],int off,int len) 
        if( gzis.available()!=-1)     
            gzis.read(b);                     
        System.out.println(Arrays.toString(b));
                                      
        //closing the stream                                                 
        gzis.close();                                                         
    }                                                                         


Output :

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads