Java.util.zip.ZipInputStream class in Java Last Updated : 12 Sep, 2023 Summarize Comments Improve Suggest changes Share Like Article Like Report This class implements an input stream filter for reading files in the ZIP file format. Includes support for both compressed and uncompressed entries. Constructors: ZipInputStream(InputStream in) : Creates a new ZIP input stream. ZipInputStream(InputStream in, Charset charset) : Creates a new ZIP input stream Methods : int available() : Returns 0 after EOF has reached for the current entry data, otherwise always return . Programs should not count on this method to return the actual number of bytes that could be read without blocking. Syntax :public int available() throws IOException Overrides: available in class InflaterInputStream Returns: 1 before EOF and 0 after EOF has reached for current entry. Programs should not count on this method to return the actual number of bytes that could be read without blocking. Throws: IOException void close() : Closes this input stream and releases any system resources associated with the stream. Syntax :public void close() throws IOException Overrides: close in class InflaterInputStream Throws: IOException void closeEntry() : Closes the current ZIP entry and positions the stream for reading the next entry. Syntax :public void closeEntry() throws IOException Throws: ZipException IOException protected ZipEntry createZipEntry(String name) : Creates a new ZipEntry object for the specified entry name. Syntax :protected ZipEntry createZipEntry(String name) Parameters: name - the ZIP file entry name Returns: the ZipEntry just created ZipEntry getNextEntry() : Reads the next ZIP file entry and positions the stream at the beginning of the entry data. Syntax :public ZipEntry getNextEntry() throws IOException Returns: the next ZIP file entry, or null if there are no more entries Throws: ZipException IOException int read(byte[] b, int off, int len) : Reads from the current ZIP entry into an array of bytes. If len is not zero, the method blocks until some input is available; otherwise, no bytes are read and 0 is returned. 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 entry is reached Throws: NullPointerException IndexOutOfBoundsException ZipException IOException long skip(long n) : Skips specified number of bytes in the current ZIP entry. Syntax :public long skip(long n) throws IOException Parameters: n - the number of bytes to skip Returns: the actual number of bytes skipped Throws: ZipException IOException IllegalArgumentException Java //Java program demonstrating ZipInputStream methods import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; import java.util.jar.JarInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; class ZipInputStreamDemo extends ZipInputStream { public ZipInputStreamDemo(InputStream in) { super(in); } public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("Awesome CV.zip"); ZipInputStream zis = new JarInputStream(fis); ZipInputStreamDemo obj = new ZipInputStreamDemo(zis); //illustrating createZipEntry() ZipEntry ze = obj.createZipEntry("ZipEntry"); System.out.println(ze.getName()); //illustrating getNextEntry() ZipEntry je = zis.getNextEntry(); System.out.println(je.getName()); //illustrating skip() method zis.skip(3); //illustrating closeEntry() method zis.closeEntry(); zis.getNextEntry(); byte b[] = new byte[10]; //illustrating available() method //Reads up to byte.length bytes of data from this input stream if(zis.available() == 1) zis.read(b); System.out.println(Arrays.toString(b)); //closing the stream zis.close(); } } Output : ZipEntry awesome-cv.cls [35, 32, 65, 119, 101, 115, 111, 109, 101, 32] Comment More infoAdvertise with us Next Article Java.util.zip.ZipEntry class in Java C ChippingEye2766 Improve Article Tags : Java Practice Tags : Java Similar Reads Java.util.zip.ZipOutputStream class in Java This class implements an output stream filter for writing files in the ZIP file format. Includes support for both compressed and uncompressed entries. Constructor : ZipOutputStream(OutputStream out) : Creates a new ZIP output stream. ZipOutputStream(OutputStream out, Charset charset) : Creates a new 3 min read Java.util.zip.ZipEntry class in Java This class is used to represent a ZIP file entry. Constructors ZipEntry(String name) : Creates a new zip entry with the specified name. ZipEntry(ZipEntry e) : Creates a new zip entry with fields taken from the specified zip entry. Methods: Object clone() : Returns a copy of this entry. Syntax :publi 4 min read Java.io.ObjectInputStream Class in Java | Set 2 Java.io.ObjectInputStream Class in Java | Set 1 Note : Java codes mentioned in this article won't run on Online IDE as the file used in the code doesn't exists online. So, to verify the working of the codes, you can copy them to your System and can run it over there. More Methods of ObjectInputStrea 6 min read Java.io.ObjectOutputStream Class in Java | Set 1 An ObjectOutputStream writes primitive data types and graphs of Java objects to an OutputStream. The objects can be read (reconstituted) using an ObjectInputStream. Persistent storage of objects can be accomplished by using a file for the stream. Only objects that support the java.io.Serializable in 9 min read Java.io.SequenceInputStream in Java The SequenceInputStream class allows you to concatenate multiple InputStreams. It reads data of streams one by one. It starts out with an ordered collection of input streams and reads from the first one until end of file is reached, whereupon it reads from the second one, and so on, until end of fil 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 Like