- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.util.zip.DeflaterOutputStream
-
- java.util.zip.ZipOutputStream
-
- 实现的所有接口
-
Closeable,Flushable,AutoCloseable
- 已知直接子类:
-
JarOutputStream
public class ZipOutputStream extends DeflaterOutputStream
此类实现了一个输出流过滤器,用于以ZIP文件格式写入文件。 包括对压缩和未压缩条目的支持。- 从以下版本开始:
- 1.1
-
-
字段汇总
字段 变量和类型 字段 描述 static intCENATTstatic intCENATXstatic intCENCOMstatic intCENCRCstatic intCENDSKstatic intCENEXTstatic intCENFLGstatic intCENHDRstatic intCENHOWstatic intCENLENstatic intCENNAMstatic intCENOFFstatic longCENSIGstatic intCENSIZstatic intCENTIMstatic intCENVEMstatic intCENVERstatic intDEFLATED压缩(DEFLATED)条目的压缩方法。static intENDCOMstatic intENDHDRstatic intENDOFFstatic longENDSIGstatic intENDSIZstatic intENDSUBstatic intENDTOTstatic intEXTCRCstatic intEXTHDRstatic intEXTLENstatic longEXTSIGstatic intEXTSIZstatic intLOCCRCstatic intLOCEXTstatic intLOCFLGstatic intLOCHDRstatic intLOCHOWstatic intLOCLENstatic intLOCNAMstatic longLOCSIGstatic intLOCSIZstatic intLOCTIMstatic intLOCVERstatic intSTORED未压缩(STORED)条目的压缩方法。-
声明的属性在类 java.util.zip.DeflaterOutputStream
buf, def
-
声明的属性在类 java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 构造器 描述 ZipOutputStream(OutputStream out)创建一个新的ZIP输出流。ZipOutputStream(OutputStream out, Charset charset)创建一个新的ZIP输出流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidclose()关闭ZIP输出流以及要过滤的流。voidcloseEntry()关闭当前ZIP条目并定位流以写入下一个条目。voidfinish()完成编写ZIP输出流的内容而不关闭底层流。voidputNextEntry(ZipEntry e)开始编写新的ZIP文件条目并将流定位到条目数据的开头。voidsetComment(String comment)设置ZIP文件注释。voidsetLevel(int level)设置DEFLATED后续条目的压缩级别。voidsetMethod(int method)设置后续条目的默认压缩方法。voidwrite(byte[] b, int off, int len)将一个字节数组写入当前ZIP条目数据。-
声明方法的类 java.util.zip.DeflaterOutputStream
deflate, flush, write
-
声明方法的类 java.io.FilterOutputStream
write
-
声明方法的类 java.io.OutputStream
nullOutputStream
-
-
-
-
字段详细信息
-
STORED
public static final int STORED
未压缩(STORED)条目的压缩方法。- 另请参见:
- 常数字段值
-
DEFLATED
public static final int DEFLATED
压缩(DEFLATED)条目的压缩方法。- 另请参见:
- 常数字段值
-
LOCSIG
public static final long LOCSIG
- 另请参见:
- 常数字段值
-
EXTSIG
public static final long EXTSIG
- 另请参见:
- 常数字段值
-
CENSIG
public static final long CENSIG
- 另请参见:
- 常数字段值
-
ENDSIG
public static final long ENDSIG
- 另请参见:
- 常数字段值
-
LOCHDR
public static final int LOCHDR
- 另请参见:
- 常数字段值
-
EXTHDR
public static final int EXTHDR
- 另请参见:
- 常数字段值
-
CENHDR
public static final int CENHDR
- 另请参见:
- 常数字段值
-
ENDHDR
public static final int ENDHDR
- 另请参见:
- 常数字段值
-
LOCVER
public static final int LOCVER
- 另请参见:
- 常数字段值
-
LOCFLG
public static final int LOCFLG
- 另请参见:
- 常数字段值
-
LOCHOW
public static final int LOCHOW
- 另请参见:
- 常数字段值
-
LOCTIM
public static final int LOCTIM
- 另请参见:
- 常数字段值
-
LOCCRC
public static final int LOCCRC
- 另请参见:
- 常数字段值
-
LOCSIZ
public static final int LOCSIZ
- 另请参见:
- 常数字段值
-
LOCLEN
public static final int LOCLEN
- 另请参见:
- 常数字段值
-
LOCNAM
public static final int LOCNAM
- 另请参见:
- 常数字段值
-
LOCEXT
public static final int LOCEXT
- 另请参见:
- 常数字段值
-
EXTCRC
public static final int EXTCRC
- 另请参见:
- 常数字段值
-
EXTSIZ
public static final int EXTSIZ
- 另请参见:
- 常数字段值
-
EXTLEN
public static final int EXTLEN
- 另请参见:
- 常数字段值
-
CENVEM
public static final int CENVEM
- 另请参见:
- 常数字段值
-
CENVER
public static final int CENVER
- 另请参见:
- 常数字段值
-
CENFLG
public static final int CENFLG
- 另请参见:
- 常数字段值
-
CENHOW
public static final int CENHOW
- 另请参见:
- 常数字段值
-
CENTIM
public static final int CENTIM
- 另请参见:
- 常数字段值
-
CENCRC
public static final int CENCRC
- 另请参见:
- 常数字段值
-
CENSIZ
public static final int CENSIZ
- 另请参见:
- 常数字段值
-
CENLEN
public static final int CENLEN
- 另请参见:
- 常数字段值
-
CENNAM
public static final int CENNAM
- 另请参见:
- 常数字段值
-
CENEXT
public static final int CENEXT
- 另请参见:
- 常数字段值
-
CENCOM
public static final int CENCOM
- 另请参见:
- 常数字段值
-
CENDSK
public static final int CENDSK
- 另请参见:
- 常数字段值
-
CENATT
public static final int CENATT
- 另请参见:
- 常数字段值
-
CENATX
public static final int CENATX
- 另请参见:
- 常数字段值
-
CENOFF
public static final int CENOFF
- 另请参见:
- 常数字段值
-
ENDSUB
public static final int ENDSUB
- 另请参见:
- 常数字段值
-
ENDTOT
public static final int ENDTOT
- 另请参见:
- 常数字段值
-
ENDSIZ
public static final int ENDSIZ
- 另请参见:
- 常数字段值
-
ENDOFF
public static final int ENDOFF
- 另请参见:
- 常数字段值
-
ENDCOM
public static final int ENDCOM
- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
ZipOutputStream
public ZipOutputStream(OutputStream out)
创建一个新的ZIP输出流。UTF-8
charset用于编码条目名称和注释。- 参数
-
out- 实际输出流
-
ZipOutputStream
public ZipOutputStream(OutputStream out, Charset charset)
创建一个新的ZIP输出流。- 参数
-
out- 实际输出流 -
charset- 用于编码条目名称和注释的charset - 从以下版本开始:
- 1.7
-
-
方法详细信息
-
setComment
public void setComment(String comment)
设置ZIP文件注释。- 参数
-
comment- 注释字符串 - 异常
-
IllegalArgumentException- 如果指定的ZIP文件注释的长度大于0xFFFF字节
-
setMethod
public void setMethod(int method)
设置后续条目的默认压缩方法。 只要没有为单个ZIP文件条目指定压缩方法,就会使用此默认值,并且最初设置为DEFLATED。- 参数
-
method- 默认的压缩方法 - 异常
-
IllegalArgumentException- 如果指定的压缩方法无效
-
setLevel
public void setLevel(int level)
设置DEFLATED后续条目的压缩级别。 默认设置为DEFAULT_COMPRESSION。- 参数
-
level- 压缩级别(0-9) - 异常
-
IllegalArgumentException- 如果压缩级别无效
-
putNextEntry
public void putNextEntry(ZipEntry e) throws IOException
开始编写新的ZIP文件条目并将流定位到条目数据的开头。 如果仍然有效,则关闭当前条目。 如果没有为条目指定压缩方法,则将使用默认压缩方法,如果条目没有设置修改时间,则将使用当前时间。- 参数
-
e- 要写入的ZIP条目 - 异常
-
ZipException- 如果发生ZIP格式错误 -
IOException- 如果发生I / O错误
-
closeEntry
public void closeEntry() throws IOException关闭当前ZIP条目并定位流以写入下一个条目。- 异常
-
ZipException- 如果发生ZIP格式错误 -
IOException- 如果发生I / O错误
-
write
public void write(byte[] b, int off, int len) throws IOException将一个字节数组写入当前ZIP条目数据。 此方法将阻塞,直到写入所有字节。- 重写:
-
write,类DeflaterOutputStream - 参数
-
b- 要写入的数据 -
off- 数据中的起始偏移量 -
len- 写入的字节数 - 异常
-
ZipException- 如果发生ZIP文件错误 -
IOException- 如果发生I / O错误 - 另请参见:
-
FilterOutputStream.write(int)
-
finish
public void finish() throws IOException完成编写ZIP输出流的内容而不关闭底层流。 将多个过滤器连续应用于同一输出流时,请使用此方法。- 重写:
-
finish在类DeflaterOutputStream - 异常
-
ZipException- 如果发生ZIP文件错误 -
IOException- 如果发生I / O异常
-
close
public void close() throws IOException关闭ZIP输出流以及要过滤的流。- Specified by:
-
close在界面AutoCloseable - Specified by:
-
close在界面Closeable - 重写:
-
close在类DeflaterOutputStream - 异常
-
ZipException- 如果发生ZIP文件错误 -
IOException- 如果发生I / O错误 - 另请参见:
-
FilterOutputStream.flush(),FilterOutputStream.out
-
-