ZipOutputStream (Java SE 11 & JDK 11 ) JavaScript is disabled on your browser. Skip navigation links Overview Module Package Class Use Tree Deprecated Index Help Java SE 11 & JDK 11 All Classes SEARCH: JavaScript is disabled on your browser. Summary:  Nested |  Field |  Constr |  Method Detail:  Field |  Constr |  Method   Module java.base Package java.util.zip Class ZipOutputStream java.lang.Object java.io.OutputStream java.io.FilterOutputStream java.util.zip.DeflaterOutputStream java.util.zip.ZipOutputStream All Implemented Interfaces: Closeable, Flushable, AutoCloseable Direct Known Subclasses: JarOutputStream public class ZipOutputStream extends DeflaterOutputStream This class implements an output stream filter for writing files in the ZIP file format. Includes support for both compressed and uncompressed entries. Since: 1.1 Field Summary Fields  Modifier and Type Field Description static int CENATT   static int CENATX   static int CENCOM   static int CENCRC   static int CENDSK   static int CENEXT   static int CENFLG   static int CENHDR   static int CENHOW   static int CENLEN   static int CENNAM   static int CENOFF   static long CENSIG   static int CENSIZ   static int CENTIM   static int CENVEM   static int CENVER   static int DEFLATED Compression method for compressed (DEFLATED) entries. static int ENDCOM   static int ENDHDR   static int ENDOFF   static long ENDSIG   static int ENDSIZ   static int ENDSUB   static int ENDTOT   static int EXTCRC   static int EXTHDR   static int EXTLEN   static long EXTSIG   static int EXTSIZ   static int LOCCRC   static int LOCEXT   static int LOCFLG   static int LOCHDR   static int LOCHOW   static int LOCLEN   static int LOCNAM   static long LOCSIG   static int LOCSIZ   static int LOCTIM   static int LOCVER   static int STORED Compression method for uncompressed (STORED) entries. Fields declared in class java.util.zip.DeflaterOutputStream buf, def Fields declared in class java.io.FilterOutputStream out Constructor Summary Constructors  Constructor Description ZipOutputStream​(OutputStream out) Creates a new ZIP output stream. ZipOutputStream​(OutputStream out, Charset charset) Creates a new ZIP output stream. Method Summary All Methods Instance Methods Concrete Methods  Modifier and Type Method Description void close() Closes the ZIP output stream as well as the stream being filtered. void closeEntry() Closes the current ZIP entry and positions the stream for writing the next entry. void finish() Finishes writing the contents of the ZIP output stream without closing the underlying stream. void putNextEntry​(ZipEntry e) Begins writing a new ZIP file entry and positions the stream to the start of the entry data. void setComment​(String comment) Sets the ZIP file comment. void setLevel​(int level) Sets the compression level for subsequent entries which are DEFLATED. void setMethod​(int method) Sets the default compression method for subsequent entries. void write​(byte[] b, int off, int len) Writes an array of bytes to the current ZIP entry data. Methods declared in class java.util.zip.DeflaterOutputStream deflate, flush, write Methods declared in class java.io.FilterOutputStream write Methods declared in class java.io.OutputStream nullOutputStream Methods declared in class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Field Detail STORED public static final int STORED Compression method for uncompressed (STORED) entries. See Also: Constant Field Values DEFLATED public static final int DEFLATED Compression method for compressed (DEFLATED) entries. See Also: Constant Field Values LOCSIG public static final long LOCSIG See Also: Constant Field Values EXTSIG public static final long EXTSIG See Also: Constant Field Values CENSIG public static final long CENSIG See Also: Constant Field Values ENDSIG public static final long ENDSIG See Also: Constant Field Values LOCHDR public static final int LOCHDR See Also: Constant Field Values EXTHDR public static final int EXTHDR See Also: Constant Field Values CENHDR public static final int CENHDR See Also: Constant Field Values ENDHDR public static final int ENDHDR See Also: Constant Field Values LOCVER public static final int LOCVER See Also: Constant Field Values LOCFLG public static final int LOCFLG See Also: Constant Field Values LOCHOW public static final int LOCHOW See Also: Constant Field Values LOCTIM public static final int LOCTIM See Also: Constant Field Values LOCCRC public static final int LOCCRC See Also: Constant Field Values LOCSIZ public static final int LOCSIZ See Also: Constant Field Values LOCLEN public static final int LOCLEN See Also: Constant Field Values LOCNAM public static final int LOCNAM See Also: Constant Field Values LOCEXT public static final int LOCEXT See Also: Constant Field Values EXTCRC public static final int EXTCRC See Also: Constant Field Values EXTSIZ public static final int EXTSIZ See Also: Constant Field Values EXTLEN public static final int EXTLEN See Also: Constant Field Values CENVEM public static final int CENVEM See Also: Constant Field Values CENVER public static final int CENVER See Also: Constant Field Values CENFLG public static final int CENFLG See Also: Constant Field Values CENHOW public static final int CENHOW See Also: Constant Field Values CENTIM public static final int CENTIM See Also: Constant Field Values CENCRC public static final int CENCRC See Also: Constant Field Values CENSIZ public static final int CENSIZ See Also: Constant Field Values CENLEN public static final int CENLEN See Also: Constant Field Values CENNAM public static final int CENNAM See Also: Constant Field Values CENEXT public static final int CENEXT See Also: Constant Field Values CENCOM public static final int CENCOM See Also: Constant Field Values CENDSK public static final int CENDSK See Also: Constant Field Values CENATT public static final int CENATT See Also: Constant Field Values CENATX public static final int CENATX See Also: Constant Field Values CENOFF public static final int CENOFF See Also: Constant Field Values ENDSUB public static final int ENDSUB See Also: Constant Field Values ENDTOT public static final int ENDTOT See Also: Constant Field Values ENDSIZ public static final int ENDSIZ See Also: Constant Field Values ENDOFF public static final int ENDOFF See Also: Constant Field Values ENDCOM public static final int ENDCOM See Also: Constant Field Values Constructor Detail ZipOutputStream public ZipOutputStream​(OutputStream out) Creates a new ZIP output stream. The UTF-8 charset is used to encode the entry names and comments. Parameters: out - the actual output stream ZipOutputStream public ZipOutputStream​(OutputStream out, Charset charset) Creates a new ZIP output stream. Parameters: out - the actual output stream charset - the charset to be used to encode the entry names and comments Since: 1.7 Method Detail setComment public void setComment​(String comment) Sets the ZIP file comment. Parameters: comment - the comment string Throws: IllegalArgumentException - if the length of the specified ZIP file comment is greater than 0xFFFF bytes setMethod public void setMethod​(int method) Sets the default compression method for subsequent entries. This default will be used whenever the compression method is not specified for an individual ZIP file entry, and is initially set to DEFLATED. Parameters: method - the default compression method Throws: IllegalArgumentException - if the specified compression method is invalid setLevel public void setLevel​(int level) Sets the compression level for subsequent entries which are DEFLATED. The default setting is DEFAULT_COMPRESSION. Parameters: level - the compression level (0-9) Throws: IllegalArgumentException - if the compression level is invalid putNextEntry public void putNextEntry​(ZipEntry e) throws IOException Begins writing a new ZIP file entry and positions the stream to the start of the entry data. Closes the current entry if still active. The default compression method will be used if no compression method was specified for the entry, and the current time will be used if the entry has no set modification time. Parameters: e - the ZIP entry to be written Throws: ZipException - if a ZIP format error has occurred IOException - if an I/O error has occurred closeEntry public void closeEntry() throws IOException Closes the current ZIP entry and positions the stream for writing the next entry. Throws: ZipException - if a ZIP format error has occurred IOException - if an I/O error has occurred write public void write​(byte[] b, int off, int len) throws IOException Writes an array of bytes to the current ZIP entry data. This method will block until all the bytes are written. Overrides: write in class DeflaterOutputStream Parameters: b - the data to be written off - the start offset in the data len - the number of bytes that are written Throws: ZipException - if a ZIP file error has occurred IOException - if an I/O error has occurred See Also: FilterOutputStream.write(int) finish public void finish() throws IOException Finishes writing the contents of the ZIP output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream. Overrides: finish in class DeflaterOutputStream Throws: ZipException - if a ZIP file error has occurred IOException - if an I/O exception has occurred close public void close() throws IOException Closes the ZIP output stream as well as the stream being filtered. Specified by: close in interface AutoCloseable Specified by: close in interface Closeable Overrides: close in class DeflaterOutputStream Throws: ZipException - if a ZIP file error has occurred IOException - if an I/O error has occurred See Also: FilterOutputStream.flush(), FilterOutputStream.out Skip navigation links Overview Module Package Class Use Tree Deprecated Index Help Java SE 11 & JDK 11 All Classes JavaScript is disabled on your browser. Summary:  Nested |  Field |  Constr |  Method Detail:  Field |  Constr |  Method Report a bug or suggest an enhancement For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries. Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA. All rights reserved. Use is subject to license terms and the documentation redistribution policy.