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

Class ZipInputStream

  • 实现的所有接口
    CloseableAutoCloseable
    已知直接子类:
    JarInputStream

    public class ZipInputStreamextends InflaterInputStream
    此类实现了一个输入流过滤器,用于读取ZIP文件格式的文件。 包括对压缩和未压缩条目的支持。
    从以下版本开始:
    1.1
    • 构造方法详细信息

      • ZipInputStream

        public ZipInputStream​(InputStream in)
        创建一个新的ZIP输入流。

        UTF-8 charset用于解码条目名称。

        参数
        in - 实际输入流
      • ZipInputStream

        public ZipInputStream​(InputStream in,                      Charset charset)
        创建一个新的ZIP输入流。
        参数
        in - 实际输入流
        charset -该charset被用来ZIP条目名称(如果忽略解码language encoding bit ZIP条目的通用位标志的设置)。
        从以下版本开始:
        1.7
    • 方法详细信息

      • getNextEntry

        public ZipEntry getNextEntry()                      throws IOException
        读取下一个ZIP文件条目,并将流定位在条目数据的开头。
        结果
        下一个ZIP文件条目,如果没有更多条目,则返回null
        异常
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
      • closeEntry

        public void closeEntry()                throws IOException
        关闭当前ZIP条目并定位流以读取下一个条目。
        异常
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
      • available

        public int available()              throws IOException
        在达到当前条目数据的EOF后返回0,否则始终返回1。

        程序不应指望此方法返回可以无阻塞地读取的实际字节数。

        重写:
        available在类 InflaterInputStream
        结果
        在EOF之前为1,在EOF到达当前进入之后为0。
        异常
        IOException - 如果发生I / O错误。
      • read

        public int read​(byte[] b,                int off,                int len)         throws IOException
        从当前ZIP条目读入字节数组。 如果len不为零,则该方法将阻塞,直到某些输入可用; 否则,不读取任何字节,返回0
        重写:
        read在类 InflaterInputStream
        参数
        b - 读取数据的缓冲区
        off - 目标阵列 b的起始偏移量
        len - 读取的最大字节数
        结果
        读取的实际字节数,如果到达条目的末尾,则返回-1
        异常
        NullPointerException - 如果 bnull
        IndexOutOfBoundsException - 如果 off为负数,则 len为负数,或 len为大于 b.length - off
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
        另请参见:
        FilterInputStream.in
      • createZipEntry

        protected ZipEntry createZipEntry​(String name)
        为指定的条目名称创建新的 ZipEntry对象。
        参数
        name - ZIP文件条目名称
        结果
        the ZipEntry just created