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]
This article is contributed by Nishant Sharma. If you like Lazyroar and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the Lazyroar main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.