public class ZipOutputStream
extends DeflaterOutputStream
java.lang.Object | ||||
↳ | java.io.OutputStream | |||
↳ | java.io.FilterOutputStream | |||
↳ | java.util.zip.DeflaterOutputStream | |||
↳ | java.util.zip.ZipOutputStream |
Known Direct Subclasses |
该类实现一个输出流过滤器,用于以ZIP文件格式写入文件。 包括对压缩和未压缩条目的支持。
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 压缩(DEFLATED)条目的压缩方法。 |
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 未压缩(STORED)条目的压缩方法。 |
Inherited fields |
---|
From class java.util.zip.DeflaterOutputStream
|
From class java.io.FilterOutputStream
|
Public constructors |
|
---|---|
ZipOutputStream(OutputStream out) 创建一个新的ZIP输出流。 |
|
ZipOutputStream(OutputStream out, Charset charset) 创建一个新的ZIP输出流。 |
Public methods |
|
---|---|
void |
close() 关闭ZIP输出流以及正在过滤的流。 |
void |
closeEntry() 关闭当前的ZIP条目并定位写入下一个条目的流。 |
void |
finish() 完成编写ZIP输出流的内容而不关闭底层流。 |
void |
putNextEntry(ZipEntry e) 开始编写新的ZIP文件条目并将流定位到条目数据的开头。 |
void |
setComment(String comment) 设置ZIP文件评论。 |
void |
setLevel(int level) 为后续的DEFLATED条目设置压缩级别。 |
void |
setMethod(int method) 为后续条目设置默认压缩方法。 |
void |
write(byte[] b, int off, int len) 将一个字节数组写入当前ZIP条目数据。 |
Inherited methods |
|
---|---|
From class java.util.zip.DeflaterOutputStream
|
|
From class java.io.FilterOutputStream
|
|
From class java.io.OutputStream
|
|
From class java.lang.Object
|
|
From interface java.io.Closeable
|
|
From interface java.io.Flushable
|
|
From interface java.lang.AutoCloseable
|
ZipOutputStream (OutputStream out)
创建一个新的ZIP输出流。
UTF-8 charset
用于对条目名称和注释进行编码。
Parameters | |
---|---|
out |
OutputStream : the actual output stream |
ZipOutputStream (OutputStream out, Charset charset)
创建一个新的ZIP输出流。
Parameters | |
---|---|
out |
OutputStream : the actual output stream |
charset |
Charset : the charset to be used to encode the entry names and comments |
void close ()
关闭ZIP输出流以及正在过滤的流。
Throws | |
---|---|
ZipException |
if a ZIP file error has occurred |
IOException |
if an I/O error has occurred |
void closeEntry ()
关闭当前的ZIP条目并定位写入下一个条目的流。
Throws | |
---|---|
ZipException |
if a ZIP format error has occurred |
IOException |
if an I/O error has occurred |
void finish ()
完成编写ZIP输出流的内容而不关闭底层流。 连续应用多个过滤器到相同的输出流时使用此方法。
Throws | |
---|---|
ZipException |
if a ZIP file error has occurred |
IOException |
if an I/O exception has occurred |
void putNextEntry (ZipEntry e)
开始编写新的ZIP文件条目并将流定位到条目数据的开头。 如果仍然有效,则关闭当前条目。 如果没有为条目指定压缩方法,将使用默认压缩方法,如果条目没有设置修改时间,则使用当前时间。
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 |
void setComment (String comment)
设置ZIP文件评论。
Parameters | |
---|---|
comment |
String : the comment string |
Throws | |
---|---|
IllegalArgumentException |
if the length of the specified ZIP file comment is greater than 0xFFFF bytes |
void setLevel (int level)
为后续的DEFLATED条目设置压缩级别。 默认设置是DEFAULT_COMPRESSION。
Parameters | |
---|---|
level |
int : the compression level (0-9) |
Throws | |
---|---|
IllegalArgumentException |
if the compression level is invalid |
void setMethod (int method)
为后续条目设置默认压缩方法。 只要没有为单个ZIP文件条目指定压缩方法并且最初设置为DEFLATED,就会使用此默认值。
Parameters | |
---|---|
method |
int : the default compression method |
Throws | |
---|---|
IllegalArgumentException |
if the specified compression method is invalid |
void write (byte[] b, int off, int len)
将一个字节数组写入当前ZIP条目数据。 该方法将阻塞,直到写入所有字节。
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 |