模块  java.base
软件包  java.util.zip

Class ZipOutputStream

    • 构造方法详细信息

      • 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异常