返回介绍

java.util.zip 类 InflaterInputStream

发布于 2019-10-04 09:52:02 字数 10059 浏览 1112 评论 0 收藏 0

java.lang.Object
  └java.io.InputStream
      └java.io.FilterInputStream
          └java.util.zip.InflaterInputStream
所有已实现的接口:
Closeable
直接已知子类:
GZIPInputStream, ZipInputStream

public class InflaterInputStream
extends FilterInputStream
 

此类为解压缩 "deflate" 压缩格式的数据实现流过滤器。它还用作其他解压缩过滤器(如 GZIPInputStream)的基础。

另请参见:
Inflater

字段摘要
protected byte[]buf

用于解压缩的输入缓冲区。

protected Inflaterinf

流的解压缩器。

protected intlen

输入缓冲区的长度。

从类 java.io.FilterInputStream 继承的字段
in
构造方法摘要
InflaterInputStream(InputStreamin)

使用默认解压缩器和缓冲区大小创建一个新输入流。

InflaterInputStream(InputStreamin, Inflaterinf)

创建一个带有指定解压缩器和默认缓冲区大小的新输入流。

InflaterInputStream(InputStreamin, Inflaterinf, intsize)

使用指定解压缩器和缓冲区大小创建一个新输入流。

方法摘要
intavailable()

在到达 EOF 后返回 0;否则始终返回 1。

voidclose()

关闭此输入流并释放与该流关联的所有系统资源。

protected voidfill()

使用更多要解压缩的数据填充输入缓冲区。

voidmark(intreadlimit)

标记此输入流中的当前位置。

booleanmarkSupported()

测试此输入流是否支持 markreset 方法。

intread()

读取未压缩数据的字节。

intread(byte[]b, intoff, intlen)

将未压缩数据读入字节数组。

voidreset()

将此流重新定位到对此输入流最后调用 mark 方法时的位置。

longskip(longn)

跳过指定的未压缩数据的字节数。

从类 java.io.FilterInputStream 继承的方法
read
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细信息

inf

protected Inflater inf
流的解压缩器。

buf

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

len

protected int len
输入缓冲区的长度。

构造方法详细信息

InflaterInputStream

public InflaterInputStream(InputStreamin,
                           Inflaterinf,
                           intsize)
使用指定解压缩器和缓冲区大小创建一个新输入流。
参数:
in - 输入流
inf - 解压缩器 ("inflater")
size - 输入缓冲区大小
抛出:
IllegalArgumentException - 如果大小为 <= 0

InflaterInputStream

public InflaterInputStream(InputStreamin,
                           Inflaterinf)
创建一个带有指定解压缩器和默认缓冲区大小的新输入流。
参数:
in - 输入流
inf - 解压缩器 ("inflater")

InflaterInputStream

public InflaterInputStream(InputStreamin)
使用默认解压缩器和缓冲区大小创建一个新输入流。
参数:
in - 输入流

方法详细信息

read

public int read()
         throws IOException
读取未压缩数据的字节。在足够的输入可用于解压缩之前,此方法将阻塞。
覆盖:
FilterInputStream 中的 read
返回:
如果到达已压缩输入的结尾,则返回所读取的字节
抛出:
IOException - 如果发生 I/O 错误
另请参见:
FilterInputStream.in

read

public int read(byte[]b,
                intoff,
                intlen)
         throws IOException
将未压缩数据读入字节数组。在可以解压缩某些输入之前,此方法将阻塞。
覆盖:
FilterInputStream 中的 read
参数:
b - 读入数据的缓冲区
off - 数据的初始偏移量
len - 读取字节的最大数
返回:
读取字节的实际数;或者,如果到达已压缩输入的结尾或需要预置字典,则返回 -1
抛出:
ZipException - 如果发生 ZIP 格式错误
IOException - 如果发生 I/O 错误
另请参见:
FilterInputStream.in

available

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

程序不应依靠此方法返回无阻塞读取的实际字节数。

覆盖:
FilterInputStream 中的 available
返回:
在到达 EOF 之前返回 1;在到达 EOF 之后返回 0。
抛出:
IOException - 如果发生 I/O 错误。
另请参见:
FilterInputStream.in

skip

public long skip(longn)
          throws IOException
跳过指定的未压缩数据的字节数。
覆盖:
FilterInputStream 中的 skip
参数:
n - 要跳过的字节数
返回:
实际跳过的字节数。
抛出:
IOException - 如果发生 I/O 错误
IllegalArgumentException - 如果 n < 0

close

public void close()
           throws IOException
关闭此输入流并释放与该流关联的所有系统资源。
指定者:
接口 Closeable 中的 close
覆盖:
FilterInputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误
另请参见:
FilterInputStream.in

fill

protected void fill()
             throws IOException
使用更多要解压缩的数据填充输入缓冲区。
抛出:
IOException - 如果发生 I/O 错误

markSupported

public boolean markSupported()
测试此输入流是否支持 markreset 方法。 InflaterInputStreammarkSupported 方法返回 false
覆盖:
FilterInputStream 中的 markSupported
返回:
一个 boolean 值,指示此流类型是否支持 markreset 方法。
另请参见:
InputStream.mark(int) , InputStream.reset()

mark

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

InflaterInputStreammark 方法不执行任何操作。

覆盖:
FilterInputStream 中的 mark
参数:
readlimit - 在标记位置变为无效前可以读取字节的最大限制。
另请参见:
InputStream.reset()

reset

public void reset()
           throws IOException
将此流重新定位到对此输入流最后调用 mark 方法时的位置。

除了抛出 IOException 之外,类 InflaterInputStream 的方法 reset 不执行任何操作。

覆盖:
FilterInputStream 中的 reset
抛出:
IOException - 如果调用此方法。
另请参见:
InputStream.mark(int) , IOException

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文