Java.util.zip.InflaterInputStream class in Java Last Updated : 12 Sep, 2023 Summarize Comments Improve Suggest changes Share Like Article Like Report This class implements a stream filter for uncompressing data in the "deflate" compression format. It is also used as the basis for other decompression filters, such as GZIPInputStream. Constructors InflaterInputStream(InputStream in) : Creates a new input stream with a default decompressor and buffer size. InflaterInputStream(InputStream in, Inflater inf) : Creates a new input stream with the specified decompressor and a default buffer size. InflaterInputStream(InputStream in, Inflater inf, int size) : Creates a new input stream with the specified decompressor and buffer size. Methods: int available() : Returns 0 after EOF has been reached, otherwise always return 1. Syntax : public int available() throws IOException Returns: 1 before EOF and 0 after EOF. Throws: IOException void close() : Closes this input stream and releases any system resources associated with the stream. Syntax : public void close() throws IOException Throws: IOException protected void fill() : Fills input buffer with more data to decompress. Syntax : protected void fill() throws IOException Throws: IOException void mark(int readlimit) : Marks the current position in this input stream. Syntax : public void mark(int readlimit) Parameters: readlimit - the maximum limit of bytes that can be read before the mark position becomes invalid. boolean markSupported() : Tests if this input stream supports the mark and reset methods. Syntax : public boolean markSupported() Returns: a boolean indicating if this stream type supports the mark and reset methods. int read() : Reads a byte of uncompressed data. Syntax : public int read() throws IOException Returns: the byte read, or -1 if end of compressed input is reached Throws: IOException int read(byte[] b, int off, int len) : Reads uncompressed data into an array of bytes. Syntax : public int read(byte[] b, int off, int len) throws IOException Parameters: b - 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 is reached. Throws: NullPointerException IndexOutOfBoundsException ZipException IOException void reset() : Repositions this stream to the position at the time the mark method was last called on this input stream. Syntax : public void reset() throws IOException Throws: IOException long skip(long n) : Skips specified number of bytes of uncompressed data. Syntax : public long skip(long n) throws IOException Parameters: n - the number of bytes to skip Returns: the actual number of bytes skipped. Throws: IOException IllegalArgumentException Program: Java //Java program to demonstrate InflaterInputStream import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; class InflaterInputStreamDemo { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("file.txt"); //Assign FileOutputStream to DeflaterOutputStream DeflaterOutputStream dos = new DeflaterOutputStream(fos); //write it into DeflaterOutputStream for (int i = 0; i < 10; i++) { dos.write(i); } dos.flush(); dos.close(); FileInputStream fis = new FileInputStream("file.txt"); InflaterInputStream iis = new InflaterInputStream(fis); //illustrating available() method System.out.println(iis.available()); //illustrating mark and markSupported() if (iis.markSupported()) iis.mark(15); else System.out.println(false); //illustrating skip() method iis.skip(3); //illustrating read() for (int i = 0; i <3 ; i++) { System.out.print(iis.read()); } //illustrating read(byte[] b,int off,int len) byte b[]=new byte[4]; for (int i = 0; i <4 ; i++) { iis.read(b,0,4); } for (int i = 0; i < 4; i++) { System.out.print(b[i]); } } } Output: 1 false 3456789 Next Article: Java.util.zip.InflaterOutputStream class in Java Comment More infoAdvertise with us Next Article Java.io.InputStream Class in Java C ChippingEye2766 Improve Article Tags : Java Practice Tags : Java Similar Reads Java.util.zip.InflaterOutputStream class in Java This class implements an output stream filter for uncompressing data stored in the "deflate" compression format. Constructors InflaterOutputStream(OutputStream out) : Creates a new output stream with a default decompressor and buffer size. InflaterOutputStream(OutputStream out, Inflater infl) : Crea 3 min read Java.util.zip.DeflaterInputStream class in Java Implements an input stream filter for compressing data in the "deflate" compression format. Constructor and Description DeflaterInputStream(InputStream in) : Creates a new input stream with a default compressor and buffer size. DeflaterInputStream(InputStream in, Deflater defl) : Creates a new input 3 min read Java.util.jar.JarInputStream class in Java The JarInputStream class is used to read the contents of a JAR file from any input stream. It extends the class java.util.zip.ZipInputStream with support for reading an optional Manifest entry. The Manifest can be used to store meta-information about the JAR file and its entries. Constructors JarInp 3 min read Java.util.zip.GZIPInputStream class in Java 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. Meth 2 min read Java.io.InputStream Class in Java Java InputStream class is the superclass of all the io classes i.e. representing an input stream of bytes. It represents an input stream of bytes. Applications that are defining a subclass of the Java InputStream class must provide a method, that returns the next byte of input. A reset() method is i 3 min read Java.io.FilterInputStream Class in Java Filter Streams filters data as they read and write data in the Input Stream, filters it and pass it on to the underlying Streams. Filter Streams are FilterInputStream FilterOutput Stream FilterInputStream : Java.io.FilterInputStream class works almost like InputStream class in Java but what it does 9 min read Like