|  Known Direct Subclasses 
      
      
  
        
              | JarOutputStream | The JarOutputStreamis used to write data in theJarFileformat to an arbitrary output stream |  | 
Class Overview
Used to write (compress) data into zip files.
 
ZipOutputStream is used to write ZipEntrys to the underlying
 stream. Output from ZipOutputStream can be read using ZipFile
 or ZipInputStream.
 
While DeflaterOutputStream can write compressed zip file
 entries, this extension can write uncompressed entries as well.
 Use setMethod(int) or setMethod(int) with the STORED flag.
 
Example
 Using ZipOutputStream is a little more complicated than GZIPOutputStream
 because zip files are containers that can contain multiple files. This code creates a zip
 file containing several files, similar to the zip(1) utility.
 
 OutputStream os = ...
 ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(os));
 try {
     for (int i = 0; i < fileCount; ++i) {
         String filename = ...
         byte[] bytes = ...
         ZipEntry entry = new ZipEntry(filename);
         zos.putNextEntry(entry);
         zos.write(bytes);
         zos.closeEntry();
     }
 } finally {
     zos.close();
 }
 
 
Summary
| Public Constructors | 
|---|
	 
    
        |  | ZipOutputStream(OutputStream os) Constructs a new ZipOutputStreamthat writes a zip file
 to the givenOutputStream. | 
| Public Methods | 
|---|
	 
    
        | void | close() Closes the current ZipEntry, if any, and the underlying output
 stream. | 
	 
    
        | void | closeEntry() Closes the current ZipEntry. | 
	 
    
        | void | finish() Indicates that all entries have been written to the stream. | 
	 
    
        | void | putNextEntry(ZipEntry ze) Writes entry information to the underlying stream. | 
	 
    
        | void | setComment(String comment) Sets the comment associated with the file being written. | 
	 
    
        | void | setLevel(int level) | 
	 
    
        | void | setMethod(int method) Sets the default compression method to be used when a ZipEntrydoesn't
 explicitly specify a method. | 
	 
    
        | void | write(byte[] buffer, int offset, int byteCount) Writes data for the current entry to the underlying stream. | 
| [Expand] Inherited Methods | 
|---|
|  From class
  java.util.zip.DeflaterOutputStream 
  
   
    
    
	 
    
        | void | close() Writes any unwritten compressed data to the underlying stream, the closes
 all underlying streams. |  
        | void | deflate() Compress the data in the input buffer and write it to the underlying
 stream. |  
        | void | finish() Writes any unwritten data to the underlying stream. |  
        | void | flush() Flushes the underlying stream. |  
        | void | write(byte[] buffer, int offset, int byteCount) Compresses byteCountbytes of data frombufstarting atoffsetand writes it to the underlying stream. |  
        | void | write(int i) Writes one byte to the target stream. |  | 
|  From class
  java.io.FilterOutputStream 
  
   
    
    
	 
    
        | void | close() Closes this stream. |  
        | void | flush() Ensures that all pending data is sent out to the target stream. |  
        | void | write(byte[] buffer, int offset, int length) Writes countbytes from the byte arraybufferstarting atoffsetto the target stream. |  
        | void | write(int oneByte) Writes one byte to the target stream. |  | 
|  From class
  java.io.OutputStream 
  
   
    
    
	 
    
        | void | close() Closes this stream. |  
        | void | flush() Flushes this stream. |  
        | void | write(byte[] buffer, int offset, int count) Writes countbytes from the byte arraybufferstarting at
 positionoffsetto this stream. |  
        | void | write(byte[] buffer) Equivalent to write(buffer, 0, buffer.length). |  
        | abstract
            
            
            
            
            void | write(int oneByte) Writes a single byte to this stream. |  | 
|  From class
  java.lang.Object 
  
   
    
    
	 
    
        | Object | clone() Creates and returns a copy of this Object. |  
        | boolean | equals(Object o) Compares this instance with the specified object and indicates if they
 are equal. |  
        | void | finalize() Invoked when the garbage collector has detected that this instance is no longer reachable. |  
        | final
            
            
            Class<?> | getClass() Returns the unique instance of  Class that represents this
 object's class. |  
        | int | hashCode() Returns an integer hash code for this object. |  
        | final
            
            
            void | notify() Causes a thread which is waiting on this object's monitor (by means of
 calling one of the wait()methods) to be woken up. |  
        | final
            
            
            void | notifyAll() Causes all threads which are waiting on this object's monitor (by means
 of calling one of the wait()methods) to be woken up. |  
        | String | toString() Returns a string containing a concise, human-readable description of this
 object. |  
        | final
            
            
            void | wait() Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object. |  
        | final
            
            
            void | wait(long millis, int nanos) Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object or until the
 specified timeout expires. |  
        | final
            
            
            void | wait(long millis) Causes the calling thread to wait until another thread calls the notify()ornotifyAll()method of this object or until the
 specified timeout expires. |  | 
|  From interface
  java.io.Closeable 
  
   
    
    
	 
    
        | abstract
            
            
            
            
            void | close() Closes the object and release any system resources it holds. |  | 
|  From interface
  java.io.Flushable 
  
   
    
    
	 
    
        | abstract
            
            
            
            
            void | flush() Flushes the object by writing out any buffered data to the underlying
 output. |  | 
|  From interface
  java.lang.AutoCloseable 
  
   
    
    
	 
    
        | abstract
            
            
            
            
            void | close() Closes the object and release any system resources it holds. |  | 
 
Constants
 
    
      
        public 
        static 
        final 
        int
      
        CENATT
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                36
                (0x00000024)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENATX
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                38
                (0x00000026)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENCOM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                32
                (0x00000020)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENCRC
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                16
                (0x00000010)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENDSK
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                34
                (0x00000022)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENEXT
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                30
                (0x0000001e)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENFLG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                8
                (0x00000008)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENHDR
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                46
                (0x0000002e)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENHOW
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                10
                (0x0000000a)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENLEN
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                24
                (0x00000018)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENNAM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                28
                (0x0000001c)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENOFF
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                42
                (0x0000002a)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        long
      
        CENSIG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                33639248
                (0x0000000002014b50)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENSIZ
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                20
                (0x00000014)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENTIM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                12
                (0x0000000c)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENVEM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                4
                (0x00000004)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        CENVER
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                6
                (0x00000006)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        DEFLATED
    
      
    
      
  Indicates deflated entries.
        Constant Value: 
        
            
                8
                (0x00000008)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDCOM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                20
                (0x00000014)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDHDR
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                22
                (0x00000016)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDOFF
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                16
                (0x00000010)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        long
      
        ENDSIG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                101010256
                (0x0000000006054b50)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDSIZ
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                12
                (0x0000000c)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDSUB
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                8
                (0x00000008)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        ENDTOT
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                10
                (0x0000000a)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        EXTCRC
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                4
                (0x00000004)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        EXTHDR
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                16
                (0x00000010)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        EXTLEN
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                12
                (0x0000000c)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        long
      
        EXTSIG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                134695760
                (0x0000000008074b50)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        EXTSIZ
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                8
                (0x00000008)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCCRC
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                14
                (0x0000000e)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCEXT
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                28
                (0x0000001c)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCFLG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                6
                (0x00000006)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCHDR
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                30
                (0x0000001e)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCHOW
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                8
                (0x00000008)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCLEN
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                22
                (0x00000016)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCNAM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                26
                (0x0000001a)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        long
      
        LOCSIG
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                67324752
                (0x0000000004034b50)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCSIZ
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                18
                (0x00000012)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCTIM
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                10
                (0x0000000a)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        LOCVER
    
      
        
        
  
      
    
      
  
    
        
        Constant Value: 
        
            
                4
                (0x00000004)
            
        
        
    
     
 
 
    
      
        public 
        static 
        final 
        int
      
        STORED
    
      
    
      
  Indicates uncompressed entries.
        Constant Value: 
        
            
                0
                (0x00000000)
            
        
        
    
     
 
Public Constructors
 
    
      
        public 
         
         
         
         
        
      
      ZipOutputStream
      (OutputStream os)
    
      
    
      
  Constructs a new ZipOutputStream that writes a zip file
 to the given OutputStream.
 
 
Public Methods
 
    
      
        public 
         
         
         
         
        void
      
      close
      ()
    
      
    
      
  Closes the current ZipEntry, if any, and the underlying output
 stream. If the stream is already closed this method does nothing.
 
 
 
    
      
        public 
         
         
         
         
        void
      
      closeEntry
      ()
    
      
    
      
  Closes the current ZipEntry. Any entry terminal data is written
 to the underlying stream.
 
 
 
    
      
        public 
         
         
         
         
        void
      
      finish
      ()
    
      
    
      
  Indicates that all entries have been written to the stream. Any terminal
 information is written to the underlying stream.
      Throws
        
        
            | IOException | if an error occurs while terminating the stream. | 
      
   
     
 
 
    
      
        public 
         
         
         
         
        void
      
      putNextEntry
      (ZipEntry ze)
    
      
    
      
  Writes entry information to the underlying stream. Data associated with
 the entry can then be written using write(). After data is
 written closeEntry() must be called to complete the writing of
 the entry to the underlying stream.
      Parameters
      
        
          | ze | the ZipEntryto store. | 
      
   
  
  
     
 
 
    
      
        public 
         
         
         
         
        void
      
      setComment
      (String comment)
    
      
    
      
  Sets the comment associated with the file being written. See getComment().
 
 
 
    
      
        public 
         
         
         
         
        void
      
      setLevel
      (int level)
    
      
    
 
 
    
      
        public 
         
         
         
         
        void
      
      setMethod
      (int method)
    
      
    
      
  Sets the default compression method to be used when a ZipEntry doesn't
 explicitly specify a method. See setMethod(int) for more details.
 
 
 
    
      
        public 
         
         
         
         
        void
      
      write
      (byte[] buffer, int offset, int byteCount)
    
      
    
      
  Writes data for the current entry to the underlying stream.
      Parameters
      
        
          | buffer | the buffer to write. | 
        
          | offset | the index of the first byte in bufferto write. | 
        
          | byteCount | the number of bytes in bufferto write. |