ZipOutputStream
public
class
ZipOutputStream
extends DeflaterOutputStream
java.lang.Object | ||||
↳ | java.io.OutputStream | |||
↳ | java.io.FilterOutputStream | |||
↳ | java.util.zip.DeflaterOutputStream | |||
↳ | java.util.zip.ZipOutputStream |
This class implements an output stream filter for writing files in the ZIP file format. Includes support for both compressed and uncompressed entries.
Summary
Constants | |
---|---|
int |
CENATT
Central directory (CEN) header internal file attributes field offset. |
int |
CENATX
Central directory (CEN) header external file attributes field offset. |
int |
CENCOM
Central directory (CEN) header comment length field offset. |
int |
CENCRC
Central directory (CEN) header uncompressed file crc-32 value field offset. |
int |
CENDSK
Central directory (CEN) header disk number start field offset. |
int |
CENEXT
Central directory (CEN) header extra field length field offset. |
int |
CENFLG
Central directory (CEN) header encrypt, decrypt flags field offset. |
int |
CENHDR
Central directory (CEN) header size in bytes (including signature). |
int |
CENHOW
Central directory (CEN) header compression method field offset. |
int |
CENLEN
Central directory (CEN) header uncompressed size field offset. |
int |
CENNAM
Central directory (CEN) header filename length field offset. |
int |
CENOFF
Central directory (CEN) header LOC header offset field offset. |
long |
CENSIG
Central directory (CEN) header signature. |
int |
CENSIZ
Central directory (CEN) header compressed size field offset. |
int |
CENTIM
Central directory (CEN) header modification time field offset. |
int |
CENVEM
Central directory (CEN) header version made by field offset. |
int |
CENVER
Central directory (CEN) header version needed to extract field offset. |
int |
DEFLATED
Compression method for compressed (DEFLATED) entries. |
int |
ENDCOM
End of central directory (END) header zip file comment length field offset. |
int |
ENDHDR
End of central directory (END) header size in bytes (including signature). |
int |
ENDOFF
End of central directory (END) header offset for the first CEN header field offset. |
long |
ENDSIG
End of central directory (END) header signature. |
int |
ENDSIZ
End of central directory (END) header central directory size in bytes field offset. |
int |
ENDSUB
End of central directory (END) header number of entries on this disk field offset. |
int |
ENDTOT
End of central directory (END) header total number of entries field offset. |
int |
EXTCRC
Extra local (EXT) header uncompressed file crc-32 value field offset. |
int |
EXTHDR
Extra local (EXT) header size in bytes (including signature). |
int |
EXTLEN
Extra local (EXT) header uncompressed size field offset. |
long |
EXTSIG
Extra local (EXT) header signature. |
int |
EXTSIZ
Extra local (EXT) header compressed size field offset. |
int |
LOCCRC
Local file (LOC) header uncompressed file crc-32 value field offset. |
int |
LOCEXT
Local file (LOC) header extra field length field offset. |
int |
LOCFLG
Local file (LOC) header general purpose bit flag field offset. |
int |
LOCHDR
Local file (LOC) header size in bytes (including signature). |
int |
LOCHOW
Local file (LOC) header compression method field offset. |
int |
LOCLEN
Local file (LOC) header uncompressed size field offset. |
int |
LOCNAM
Local file (LOC) header filename length field offset. |
long |
LOCSIG
Local file (LOC) header signature. |
int |
LOCSIZ
Local file (LOC) header compressed size field offset. |
int |
LOCTIM
Local file (LOC) header modification time field offset. |
int |
LOCVER
Local file (LOC) header version needed to extract field offset. |
int |
STORED
Compression method for uncompressed (STORED) entries. |
Inherited fields |
---|
Public constructors | |
---|---|
ZipOutputStream(OutputStream out)
Creates a new ZIP output stream. |
|
ZipOutputStream(OutputStream out, Charset charset)
Creates a new ZIP output stream. |
Public methods | |
---|---|
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. |
Inherited methods | |
---|---|
Constants
CENATT
public static final int CENATT
Central directory (CEN) header internal file attributes field offset.
Constant Value: 36 (0x00000024)
CENATX
public static final int CENATX
Central directory (CEN) header external file attributes field offset.
Constant Value: 38 (0x00000026)
CENCOM
public static final int CENCOM
Central directory (CEN) header comment length field offset.
Constant Value: 32 (0x00000020)
CENCRC
public static final int CENCRC
Central directory (CEN) header uncompressed file crc-32 value field offset.
Constant Value: 16 (0x00000010)
CENDSK
public static final int CENDSK
Central directory (CEN) header disk number start field offset.
Constant Value: 34 (0x00000022)
CENEXT
public static final int CENEXT
Central directory (CEN) header extra field length field offset.
Constant Value: 30 (0x0000001e)
CENFLG
public static final int CENFLG
Central directory (CEN) header encrypt, decrypt flags field offset.
Constant Value: 8 (0x00000008)
CENHDR
public static final int CENHDR
Central directory (CEN) header size in bytes (including signature).
Constant Value: 46 (0x0000002e)
CENHOW
public static final int CENHOW
Central directory (CEN) header compression method field offset.
Constant Value: 10 (0x0000000a)
CENLEN
public static final int CENLEN
Central directory (CEN) header uncompressed size field offset.
Constant Value: 24 (0x00000018)
CENNAM
public static final int CENNAM
Central directory (CEN) header filename length field offset.
Constant Value: 28 (0x0000001c)
CENOFF
public static final int CENOFF
Central directory (CEN) header LOC header offset field offset.
Constant Value: 42 (0x0000002a)
CENSIG
public static final long CENSIG
Central directory (CEN) header signature.
Constant Value: 33639248 (0x0000000002014b50)
CENSIZ
public static final int CENSIZ
Central directory (CEN) header compressed size field offset.
Constant Value: 20 (0x00000014)
CENTIM
public static final int CENTIM
Central directory (CEN) header modification time field offset.
Constant Value: 12 (0x0000000c)
CENVEM
public static final int CENVEM
Central directory (CEN) header version made by field offset.
Constant Value: 4 (0x00000004)
CENVER
public static final int CENVER
Central directory (CEN) header version needed to extract field offset.
Constant Value: 6 (0x00000006)
DEFLATED
public static final int DEFLATED
Compression method for compressed (DEFLATED) entries.
Constant Value: 8 (0x00000008)
ENDCOM
public static final int ENDCOM
End of central directory (END) header zip file comment length field offset.
Constant Value: 20 (0x00000014)
ENDHDR
public static final int ENDHDR
End of central directory (END) header size in bytes (including signature).
Constant Value: 22 (0x00000016)
ENDOFF
public static final int ENDOFF
End of central directory (END) header offset for the first CEN header field offset.
Constant Value: 16 (0x00000010)
ENDSIG
public static final long ENDSIG
End of central directory (END) header signature.
Constant Value: 101010256 (0x0000000006054b50)
ENDSIZ
public static final int ENDSIZ
End of central directory (END) header central directory size in bytes field offset.
Constant Value: 12 (0x0000000c)
ENDSUB
public static final int ENDSUB
End of central directory (END) header number of entries on this disk field offset.
Constant Value: 8 (0x00000008)
ENDTOT
public static final int ENDTOT
End of central directory (END) header total number of entries field offset.
Constant Value: 10 (0x0000000a)
EXTCRC
public static final int EXTCRC
Extra local (EXT) header uncompressed file crc-32 value field offset.
Constant Value: 4 (0x00000004)
EXTHDR
public static final int EXTHDR
Extra local (EXT) header size in bytes (including signature).
Constant Value: 16 (0x00000010)
EXTLEN
public static final int EXTLEN
Extra local (EXT) header uncompressed size field offset.
Constant Value: 12 (0x0000000c)
EXTSIG
public static final long EXTSIG
Extra local (EXT) header signature.
Constant Value: 134695760 (0x0000000008074b50)
EXTSIZ
public static final int EXTSIZ
Extra local (EXT) header compressed size field offset.
Constant Value: 8 (0x00000008)
LOCCRC
public static final int LOCCRC
Local file (LOC) header uncompressed file crc-32 value field offset.
Constant Value: 14 (0x0000000e)
LOCEXT
public static final int LOCEXT
Local file (LOC) header extra field length field offset.
Constant Value: 28 (0x0000001c)
LOCFLG
public static final int LOCFLG
Local file (LOC) header general purpose bit flag field offset.
Constant Value: 6 (0x00000006)
LOCHDR
public static final int LOCHDR
Local file (LOC) header size in bytes (including signature).
Constant Value: 30 (0x0000001e)
LOCHOW
public static final int LOCHOW
Local file (LOC) header compression method field offset.
Constant Value: 8 (0x00000008)
LOCLEN
public static final int LOCLEN
Local file (LOC) header uncompressed size field offset.
Constant Value: 22 (0x00000016)
LOCNAM
public static final int LOCNAM
Local file (LOC) header filename length field offset.
Constant Value: 26 (0x0000001a)
LOCSIG
public static final long LOCSIG
Local file (LOC) header signature.
Constant Value: 67324752 (0x0000000004034b50)
LOCSIZ
public static final int LOCSIZ
Local file (LOC) header compressed size field offset.
Constant Value: 18 (0x00000012)
LOCTIM
public static final int LOCTIM
Local file (LOC) header modification time field offset.
Constant Value: 10 (0x0000000a)
LOCVER
public static final int LOCVER
Local file (LOC) header version needed to extract field offset.
Constant Value: 4 (0x00000004)
STORED
public static final int STORED
Compression method for uncompressed (STORED) entries.
Constant Value: 0 (0x00000000)
Public constructors
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 |
OutputStream : the actual output stream |
ZipOutputStream
public ZipOutputStream (OutputStream out, Charset charset)
Creates a new ZIP output stream.
Parameters | |
---|---|
out |
OutputStream : the actual output stream |
charset |
Charset : the charset
to be used to encode the entry names and comments |
Public methods
close
public void close ()
Closes the ZIP output stream as well as the stream being filtered.
Throws | |
---|---|
ZipException |
if a ZIP file error has occurred |
IOException |
if an I/O error has occurred |
closeEntry
public void closeEntry ()
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 |
finish
public void finish ()
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.
Throws | |
---|---|
ZipException |
if a ZIP file error has occurred |
IOException |
if an I/O exception has occurred |
putNextEntry
public void putNextEntry (ZipEntry e)
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. When writing a compressed (DEFLATED)
entry, and the compressed size has not been explicitly set with the
ZipEntry.setCompressedSize(long)
method, then the compressed
size will be set to the actual compressed size after deflation.
The current time will be used if the entry has no set modification time.
Parameters | |
---|---|
e |
ZipEntry : the ZIP entry to be written |
Throws | |
---|---|
ZipException |
if a ZIP format error has occurred |
IOException |
if an I/O error has occurred |
setComment
public void setComment (String comment)
Sets the ZIP file comment.
Parameters | |
---|---|
comment |
String : the comment string |
Throws | |
---|---|
IllegalArgumentException |
if the length of the specified ZIP file comment is greater than 0xFFFF bytes |
setLevel
public void setLevel (int level)
Sets the compression level for subsequent entries which are DEFLATED. The default setting is DEFAULT_COMPRESSION.
Parameters | |
---|---|
level |
int : the compression level (0-9) |
Throws | |
---|---|
IllegalArgumentException |
if the compression level is invalid |
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 |
int : the default compression method |
Throws | |
---|---|
IllegalArgumentException |
if the specified compression method is invalid |
write
public void write (byte[] b, int off, int len)
Writes an array of bytes to the current ZIP entry data. This method will block until all the bytes are written.
Parameters | |
---|---|
b |
byte : the data to be written |
off |
int : the start offset in the data |
len |
int : the number of bytes that are written |
Throws | |
---|---|
ZipException |
if a ZIP file error has occurred |
IOException |
if an I/O error has occurred |