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

Class InflaterInputStream

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

    public class InflaterInputStreamextends FilterInputStream
    此类实现了一个流过滤器,用于以“deflate”压缩格式解压缩数据。 它还用作其他解压缩过滤器的基础,例如GZIPInputStream。
    从以下版本开始:
    1.1
    另请参见:
    Inflater
    • 字段详细信息

      • inf

        protected Inflater inf
        此流的解压缩程序。
      • buf

        protected byte[] buf
        用于解压缩的输入缓冲区。
      • len

        protected int len
        输入缓冲区的长度。
    • 构造方法详细信息

      • InflaterInputStream

        public InflaterInputStream​(InputStream in,                           Inflater inf,                           int size)
        使用指定的解压缩程序和缓冲区大小创建新的输入流。
        参数
        in - 输入流
        inf - 解压缩程序(“inflater”)
        size - 输入缓冲区大小
        异常
        IllegalArgumentException - 如果 size <= 0
      • InflaterInputStream

        public InflaterInputStream​(InputStream in,                           Inflater inf)
        使用指定的解压缩程序和默认缓冲区大小创建新的输入流。
        参数
        in - 输入流
        inf - 解压缩程序(“inflater”)
      • InflaterInputStream

        public InflaterInputStream​(InputStream in)
        使用默认的解压缩程序和缓冲区大小创建新的输入流。
        参数
        in - 输入流
    • 方法详细信息

      • read

        public int read()         throws IOException
        读取一段未压缩数据。 此方法将阻止,直到有足够的输入可用于解压缩。
        重写:
        readFilterInputStream
        结果
        读取的字节,如果到达压缩输入的末尾,则返回-1
        异常
        IOException - 如果发生I / O错误
        另请参见:
        FilterInputStream.in
      • read

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

        public int available()              throws IOException
        达到EOF后返回0,否则始终返回1。

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

        重写:
        availableFilterInputStream
        结果
        EOF前为1,EOF后为0。
        异常
        IOException - 如果发生I / O错误。
      • fill

        protected void fill()             throws IOException
        使用更多数据填充输入缓冲区以进行解压缩。
        异常
        IOException - 如果发生I / O错误
      • mark

        public void mark​(int readlimit)
        标记此输入流中的当前位置。

        mark方法InflaterInputStream什么都不做。

        重写:
        markFilterInputStream
        参数
        readlimit - 标记位置变为无效之前可读取的最大字节数限制。
        另请参见:
        InputStream.reset()