java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
java.util.zip.ZipOutputStream
- 所有已实现的接口:
Closeable,Flushable,AutoCloseable
- 已知子类:
JarOutputStream
此类实现用于写入 ZIP 文件格式文件的输出流过滤器。包括对压缩和未压缩条目的支持。
- 自从:
- 1.1
-
字段摘要
字段修饰符和类型Field描述static final int中央目录 (CEN) 标头内部文件属性字段偏移量。static final int中央目录 (CEN) 标头外部文件属性字段偏移量。static final int中央目录 (CEN) 标头注释长度字段偏移量。static final int中央目录 (CEN) 标头未压缩文件 crc-32 值字段偏移量。static final int中央目录 (CEN) 头磁盘号起始字段偏移量。static final int中央目录 (CEN) 标头额外字段长度字段偏移量。static final int中央目录 (CEN) 标头加密、解密标志字段偏移量。static final int中央目录 (CEN) 标头大小(以字节为单位)(包括签名)。static final int中央目录 (CEN) 标头压缩方法字段偏移量。static final int中央目录 (CEN) 标头未压缩大小字段偏移量。static final int中央目录 (CEN) 头文件名长度字段偏移量。static final int中央目录 (CEN) 标头 LOC 标头偏移字段偏移量。static final long中央目录 (CEN) 标头签名。static final int中央目录 (CEN) 标头压缩大小字段偏移量。static final int中央目录 (CEN) 报头修改时间字段偏移量。static final int由字段偏移制作的中央目录 (CEN) 标头版本。static final int提取字段偏移量所需的中央目录 (CEN) 标头版本。static final int压缩(DEFLATED)条目的压缩方法。static final int中央目录结束 (END) 头 zip 文件注释长度字段偏移量。static final int中央目录 (END) 标头大小的结尾(以字节为单位)(包括签名)。static final int第一个 CEN 标头字段偏移量的中央目录结束 (END) 标头偏移量。static final long中央目录结束 (END) 标头签名。static final int中央目录结束 (END) 标头中央目录大小(字节字段偏移量)。static final int中央目录结束 (END) 标头中此磁盘字段偏移量的条目数。static final int中央目录结束 (END) 标头条目总数字段偏移量。static final int额外的本地 (EXT) 标头未压缩文件 crc-32 值字段偏移量。static final int以字节为单位的额外本地 (EXT) 标头大小(包括签名)。static final int额外的本地 (EXT) 标头未压缩大小字段偏移量。static final long额外的本地 (EXT) 标头签名。static final int额外本地 (EXT) 标头压缩大小字段偏移量。static final int本地文件 (LOC) 标头未压缩文件 crc-32 值字段偏移量。static final int本地文件 (LOC) 标头额外字段长度字段偏移量。static final int本地文件 (LOC) 标头通用位标志字段偏移量。static final int以字节为单位的本地文件 (LOC) 标头大小(包括签名)。static final int本地文件 (LOC) 标头压缩方法字段偏移量。static final int本地文件 (LOC) 标头未压缩大小字段偏移量。static final int本地文件 (LOC) 头文件名长度字段偏移量。static final long本地文件 (LOC) 标头签名。static final int本地文件 (LOC) 标头压缩大小字段偏移量。static final int本地文件 (LOC) 头修改时间字段偏移量。static final int提取字段偏移量所需的本地文件 (LOC) 标头版本。static final int未压缩(存储)条目的压缩方法。在类 java.util.zip.DeflaterOutputStream 中声明的字段
buf, def在类 java.io.FilterOutputStream 中声明的字段
out -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述voidclose()关闭 ZIP 输出流以及被过滤的流。void关闭当前 ZIP 条目并定位流以写入下一个条目。voidfinish()在不关闭基础流的情况下完成写入 ZIP 输出流的内容。void开始写入新的 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未压缩(存储)条目的压缩方法。- 参见:
-
DEFLATED
public static final int DEFLATED压缩(DEFLATED)条目的压缩方法。- 参见:
-
LOCSIG
static final long LOCSIG本地文件 (LOC) 标头签名。- 参见:
-
EXTSIG
static final long EXTSIG额外的本地 (EXT) 标头签名。- 参见:
-
CENSIG
static final long CENSIG中央目录 (CEN) 标头签名。- 参见:
-
ENDSIG
static final long ENDSIG中央目录结束 (END) 标头签名。- 参见:
-
LOCHDR
static final int LOCHDR以字节为单位的本地文件 (LOC) 标头大小(包括签名)。- 参见:
-
EXTHDR
static final int EXTHDR以字节为单位的额外本地 (EXT) 标头大小(包括签名)。- 参见:
-
CENHDR
static final int CENHDR中央目录 (CEN) 标头大小(以字节为单位)(包括签名)。- 参见:
-
ENDHDR
static final int ENDHDR中央目录 (END) 标头大小的结尾(以字节为单位)(包括签名)。- 参见:
-
LOCVER
static final int LOCVER提取字段偏移量所需的本地文件 (LOC) 标头版本。- 参见:
-
LOCFLG
static final int LOCFLG本地文件 (LOC) 标头通用位标志字段偏移量。- 参见:
-
LOCHOW
static final int LOCHOW本地文件 (LOC) 标头压缩方法字段偏移量。- 参见:
-
LOCTIM
static final int LOCTIM本地文件 (LOC) 头修改时间字段偏移量。- 参见:
-
LOCCRC
static final int LOCCRC本地文件 (LOC) 标头未压缩文件 crc-32 值字段偏移量。- 参见:
-
LOCSIZ
static final int LOCSIZ本地文件 (LOC) 标头压缩大小字段偏移量。- 参见:
-
LOCLEN
static final int LOCLEN本地文件 (LOC) 标头未压缩大小字段偏移量。- 参见:
-
LOCNAM
static final int LOCNAM本地文件 (LOC) 头文件名长度字段偏移量。- 参见:
-
LOCEXT
static final int LOCEXT本地文件 (LOC) 标头额外字段长度字段偏移量。- 参见:
-
EXTCRC
static final int EXTCRC额外的本地 (EXT) 标头未压缩文件 crc-32 值字段偏移量。- 参见:
-
EXTSIZ
static final int EXTSIZ额外本地 (EXT) 标头压缩大小字段偏移量。- 参见:
-
EXTLEN
static final int EXTLEN额外的本地 (EXT) 标头未压缩大小字段偏移量。- 参见:
-
CENVEM
static final int CENVEM由字段偏移制作的中央目录 (CEN) 标头版本。- 参见:
-
CENVER
static final int CENVER提取字段偏移量所需的中央目录 (CEN) 标头版本。- 参见:
-
CENFLG
static final int CENFLG中央目录 (CEN) 标头加密、解密标志字段偏移量。- 参见:
-
CENHOW
static final int CENHOW中央目录 (CEN) 标头压缩方法字段偏移量。- 参见:
-
CENTIM
static final int CENTIM中央目录 (CEN) 报头修改时间字段偏移量。- 参见:
-
CENCRC
static final int CENCRC中央目录 (CEN) 标头未压缩文件 crc-32 值字段偏移量。- 参见:
-
CENSIZ
static final int CENSIZ中央目录 (CEN) 标头压缩大小字段偏移量。- 参见:
-
CENLEN
static final int CENLEN中央目录 (CEN) 标头未压缩大小字段偏移量。- 参见:
-
CENNAM
static final int CENNAM中央目录 (CEN) 头文件名长度字段偏移量。- 参见:
-
CENEXT
static final int CENEXT中央目录 (CEN) 标头额外字段长度字段偏移量。- 参见:
-
CENCOM
static final int CENCOM中央目录 (CEN) 标头注释长度字段偏移量。- 参见:
-
CENDSK
static final int CENDSK中央目录 (CEN) 头磁盘号起始字段偏移量。- 参见:
-
CENATT
static final int CENATT中央目录 (CEN) 标头内部文件属性字段偏移量。- 参见:
-
CENATX
static final int CENATX中央目录 (CEN) 标头外部文件属性字段偏移量。- 参见:
-
CENOFF
static final int CENOFF中央目录 (CEN) 标头 LOC 标头偏移字段偏移量。- 参见:
-
ENDSUB
static final int ENDSUB中央目录结束 (END) 标头中此磁盘字段偏移量的条目数。- 参见:
-
ENDTOT
static final int ENDTOT中央目录结束 (END) 标头条目总数字段偏移量。- 参见:
-
ENDSIZ
static final int ENDSIZ中央目录结束 (END) 标头中央目录大小(字节字段偏移量)。- 参见:
-
ENDOFF
static final int ENDOFF第一个 CEN 标头字段偏移量的中央目录结束 (END) 标头偏移量。- 参见:
-
ENDCOM
static final int ENDCOM中央目录结束 (END) 头 zip 文件注释长度字段偏移量。- 参见:
-
-
构造方法详细信息
-
方法详情
-
setComment
设置 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
开始写入新的 ZIP 文件条目并将流定位到条目数据的开头。如果仍处于活动状态,则关闭当前条目。如果没有为条目指定压缩方法,将使用默认压缩方法。当写入压缩(DEFLATED)条目时,压缩后的大小还没有通过
ZipEntry.setCompressedSize(long)方法显式设置,那么压缩后的大小将设置为实际压缩后的大小。如果条目没有设置修改时间,则将使用当前时间。
- 参数:
e- 要写入的 ZIP 条目- 抛出:
ZipException- 如果出现 ZIP 格式错误IOException- 如果发生 I/O 错误
-
closeEntry
关闭当前 ZIP 条目并定位流以写入下一个条目。- 抛出:
ZipException- 如果出现 ZIP 格式错误IOException- 如果发生 I/O 错误
-
write
将字节数组写入当前 ZIP 条目数据。此方法将阻塞,直到所有字节都被写入。- 重写:
write在类DeflaterOutputStream中- 参数:
b- 要写入的数据off- 数据中的起始偏移量len- 写入的字节数- 抛出:
ZipException- 如果发生 ZIP 文件错误IOException- 如果发生 I/O 错误- 参见:
-
finish
在不关闭基础流的情况下完成写入 ZIP 输出流的内容。在将多个过滤器连续应用于同一输出流时使用此方法。- 重写:
finish在类DeflaterOutputStream中- 抛出:
ZipException- 如果发生 ZIP 文件错误IOException- 如果发生 I/O 异常
-
close
关闭 ZIP 输出流以及被过滤的流。- 指定者:
close在接口AutoCloseable中- 指定者:
close在接口Closeable中- 重写:
close在类DeflaterOutputStream中- 抛出:
ZipException- 如果发生 ZIP 文件错误IOException- 如果发生 I/O 错误- 参见:
-