java.util.zip

接口
异常
错误
java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.FilterOutputStream
          继承者 java.util.zip.DeflaterOutputStream
              继承者 java.util.zip.ZipOutputStream
所有已实现的接口:
Closeable, Flushable
直接已知子类:
JarOutputStream

public class ZipOutputStream
     
extends DeflaterOutputStream

此类为以 ZIP 文件格式写入文件实现输出流过滤器。包括对已压缩和未压缩条目的支持。


字段摘要
static int CENATT
           
static int CENATX
           
static int CENCOM
           
static int CENCRC
           
static int CENDSK
           
static int CENEXT
           
static int CENFLG
           
static int CENHDR
           
static int CENHOW
           
static int CENLEN
           
static int CENNAM
           
static int CENOFF
           
static long CENSIG
           
static int CENSIZ
           
static int CENTIM
           
static int CENVEM
           
static int CENVER
           
static int DEFLATED
          用于已压缩 (DEFLATED) 条目的压缩方法。
static int ENDCOM
           
static int ENDHDR
           
static int ENDOFF
           
static long ENDSIG
           
static int ENDSIZ
           
static int ENDSUB
           
static int ENDTOT
           
static int EXTCRC
           
static int EXTHDR
           
static int EXTLEN
           
static long EXTSIG
           
static int EXTSIZ
           
static int LOCCRC
           
static int LOCEXT
           
static int LOCFLG
           
static int LOCHDR
           
static int LOCHOW
           
static int LOCLEN
           
static int LOCNAM
           
static long LOCSIG
           
static int LOCSIZ
           
static int LOCTIM
           
static int LOCVER
           
static int STORED
          用于未压缩 (STORED) 条目的压缩方法。
 
从类 java.util.zip.DeflaterOutputStream 继承的字段
buf, def
 
从类 java.io.FilterOutputStream 继承的字段
out
 
构造方法摘要
ZipOutputStream(OutputStream out)
          创建新的 ZIP 输出流。
 
方法摘要
 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 条目数据。
 
从类 java.util.zip.DeflaterOutputStream 继承的方法
deflate, write
 
从类 java.io.FilterOutputStream 继承的方法
flush, write
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

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 输出流。

参数:
out - 实际输出流
方法详细信息

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 条目数据。在写入所有字节之前,此方法将阻塞。

覆盖:
DeflaterOutputStream 中的 write
参数:
b - 要写入的数据
off - 数据中的初始偏移量
len - 要写入的字节数
抛出:
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 错误
另请参见:
FilterOutputStream.write(int)

finish

public void finish()
            throws IOException
完成写入 ZIP 输出流的内容,无需关闭底层流。对同一输出流连续应用多个过滤器时使用此方法。

覆盖:
DeflaterOutputStream 中的 finish
抛出:
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 异常

close

public void close()
           throws IOException
关闭 ZIP 输出流和正在过滤的流。

指定者:
接口 Closeable 中的 close
覆盖:
DeflaterOutputStream 中的 close
抛出:
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 错误
另请参见:
FilterOutputStream.flush(), FilterOutputStream.out