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
|
int |
CENATX
|
int |
CENCOM
|
int |
CENCRC
|
int |
CENDSK
|
int |
CENEXT
|
int |
CENFLG
|
int |
CENHDR
|
int |
CENHOW
|
int |
CENLEN
|
int |
CENNAM
|
int |
CENOFF
|
long |
CENSIG
|
int |
CENSIZ
|
int |
CENTIM
|
int |
CENVEM
|
int |
CENVER
|
int |
DEFLATED
Compression method for compressed (DEFLATED) entries. |
int |
ENDCOM
|
int |
ENDHDR
|
int |
ENDOFF
|
long |
ENDSIG
|
int |
ENDSIZ
|
int |
ENDSUB
|
int |
ENDTOT
|
int |
EXTCRC
|
int |
EXTHDR
|
int |
EXTLEN
|
long |
EXTSIG
|
int |
EXTSIZ
|
int |
LOCCRC
|
int |
LOCEXT
|
int |
LOCFLG
|
int |
LOCHDR
|
int |
LOCHOW
|
int |
LOCLEN
|
int |
LOCNAM
|
long |
LOCSIG
|
int |
LOCSIZ
|
int |
LOCTIM
|
int |
LOCVER
|
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
Constant Value: 36 (0x00000024)
CENATX
public static final int CENATX
Constant Value: 38 (0x00000026)
CENCOM
public static final int CENCOM
Constant Value: 32 (0x00000020)
CENCRC
public static final int CENCRC
Constant Value: 16 (0x00000010)
CENDSK
public static final int CENDSK
Constant Value: 34 (0x00000022)
CENEXT
public static final int CENEXT
Constant Value: 30 (0x0000001e)
CENFLG
public static final int CENFLG
Constant Value: 8 (0x00000008)
CENHDR
public static final int CENHDR
Constant Value: 46 (0x0000002e)
CENHOW
public static final int CENHOW
Constant Value: 10 (0x0000000a)
CENLEN
public static final int CENLEN
Constant Value: 24 (0x00000018)
CENNAM
public static final int CENNAM
Constant Value: 28 (0x0000001c)
CENOFF
public static final int CENOFF
Constant Value: 42 (0x0000002a)
CENSIG
public static final long CENSIG
Constant Value: 33639248 (0x0000000002014b50)
CENSIZ
public static final int CENSIZ
Constant Value: 20 (0x00000014)
CENTIM
public static final int CENTIM
Constant Value: 12 (0x0000000c)
CENVEM
public static final int CENVEM
Constant Value: 4 (0x00000004)
CENVER
public static final int CENVER
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
Constant Value: 20 (0x00000014)
ENDHDR
public static final int ENDHDR
Constant Value: 22 (0x00000016)
ENDOFF
public static final int ENDOFF
Constant Value: 16 (0x00000010)
ENDSIG
public static final long ENDSIG
Constant Value: 101010256 (0x0000000006054b50)
ENDSIZ
public static final int ENDSIZ
Constant Value: 12 (0x0000000c)
ENDSUB
public static final int ENDSUB
Constant Value: 8 (0x00000008)
ENDTOT
public static final int ENDTOT
Constant Value: 10 (0x0000000a)
EXTCRC
public static final int EXTCRC
Constant Value: 4 (0x00000004)
EXTHDR
public static final int EXTHDR
Constant Value: 16 (0x00000010)
EXTLEN
public static final int EXTLEN
Constant Value: 12 (0x0000000c)
EXTSIG
public static final long EXTSIG
Constant Value: 134695760 (0x0000000008074b50)
EXTSIZ
public static final int EXTSIZ
Constant Value: 8 (0x00000008)
LOCCRC
public static final int LOCCRC
Constant Value: 14 (0x0000000e)
LOCEXT
public static final int LOCEXT
Constant Value: 28 (0x0000001c)
LOCFLG
public static final int LOCFLG
Constant Value: 6 (0x00000006)
LOCHDR
public static final int LOCHDR
Constant Value: 30 (0x0000001e)
LOCHOW
public static final int LOCHOW
Constant Value: 8 (0x00000008)
LOCLEN
public static final int LOCLEN
Constant Value: 22 (0x00000016)
LOCNAM
public static final int LOCNAM
Constant Value: 26 (0x0000001a)
LOCSIG
public static final long LOCSIG
Constant Value: 67324752 (0x0000000004034b50)
LOCSIZ
public static final int LOCSIZ
Constant Value: 18 (0x00000012)
LOCTIM
public static final int LOCTIM
Constant Value: 10 (0x0000000a)
LOCVER
public static final int LOCVER
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, and 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 |