java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.DeflaterInputStream
- 所有已实现的接口:
-
Closeable
,AutoCloseable
实现了用于压缩数据的输入流过滤器,使用"deflate"压缩格式。
- 自从:
- 1.6
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionprotected final byte[]
用于读取压缩数据的输入缓冲区。protected final Deflater
该流的压缩器。Fields declared in class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorDescription创建一个具有默认压缩器和缓冲区大小的新输入流。DeflaterInputStream
(InputStream in, Deflater defl) 创建一个具有指定压缩器和默认缓冲区大小的新输入流。DeflaterInputStream
(InputStream in, Deflater defl, int bufLen) 创建一个具有指定压缩器和缓冲区大小的新输入流。 -
Method Summary
Methods declared in class java.io.FilterInputStream
read
Methods declared in class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
def
该流的压缩器。 -
buf
protected final byte[] buf用于读取压缩数据的输入缓冲区。
-
-
Constructor Details
-
DeflaterInputStream
创建一个具有默认压缩器和缓冲区大小的新输入流。- 参数:
-
in
- 用于读取未压缩数据的输入流 - 抛出:
-
NullPointerException
- 如果in
为null
-
DeflaterInputStream
创建一个具有指定压缩器和默认缓冲区大小的新输入流。- 参数:
-
in
- 用于读取未压缩数据的输入流 -
defl
- 该流的压缩器("deflater") - 抛出:
-
NullPointerException
- 如果in
或defl
为null
-
DeflaterInputStream
创建一个具有指定压缩器和缓冲区大小的新输入流。- 参数:
-
in
- 用于读取未压缩数据的输入流 -
defl
- 该流的压缩器("deflater") -
bufLen
- 压缩缓冲区大小 - 抛出:
-
IllegalArgumentException
- 如果bufLen <= 0
-
NullPointerException
- 如果in
或defl
为null
-
-
Method Details
-
close
关闭此输入流及其底层输入流,丢弃任何未解压的数据。- 指定者:
-
close
在接口AutoCloseable
中 - 指定者:
-
close
在接口Closeable
中 - 覆盖:
-
close
在类FilterInputStream
中 - 抛出:
-
IOException
- 如果发生I/O错误 - 参见:
-
read
从输入流中读取一字节压缩数据。此方法将阻塞,直到可以读取和压缩一些输入。- 覆盖:
-
read
在类FilterInputStream
中 - 返回:
- 一字节压缩数据,或-1如果已到达未压缩输入流的结尾
- 抛出:
-
IOException
- 如果发生I/O错误或如果此流已关闭 - 参见:
-
read
将压缩数据读入字节数组。此方法将阻塞,直到可以读取和压缩一些输入。- 覆盖:
-
read
在类FilterInputStream
中 - 参数:
-
b
- 读取数据的缓冲区 -
off
-b
中数据的起始偏移量 -
len
- 读取到b
中的最大压缩字节数 - 返回:
- 实际读取的字节数,或-1如果已到达未压缩输入流的结尾
- 抛出:
-
IndexOutOfBoundsException
- 如果len > b.length - off
-
IOException
- 如果发生I/O错误或如果此输入流已关闭 - 参见:
-
skip
跳过并丢弃输入流中的数据。此方法可能会阻塞,直到读取和跳过指定数量的字节。注意: 虽然n
给定为long
,但可以跳过的最大字节数为Integer.MAX_VALUE
。- 覆盖:
-
skip
在类FilterInputStream
中 - 参数:
-
n
- 要跳过的字节数 - 返回:
- 实际跳过的字节数
- 抛出:
-
IOException
- 如果发生I/O错误或如果此流已关闭 - 参见:
-
available
在达到EOF后返回0,否则始终返回1。程序不应依赖此方法返回可以无阻塞读取的实际字节数
- 覆盖:
-
available
在类FilterInputStream
中 - 返回:
- 在达到底层输入流的末尾后返回零,否则始终返回1
- 抛出:
-
IOException
- 如果发生I/O错误或如果此流已关闭
-
markSupported
public boolean markSupported()- 覆盖:
-
markSupported
在类FilterInputStream
中 - 返回:
- 始终返回false
- 参见:
-
mark
public void mark(int limit) 不支持此操作。- 覆盖:
-
mark
在类FilterInputStream
中 - 参数:
-
limit
- 在使位置标记无效之前可以读取的最大字节数 - 参见:
-
reset
不支持此操作。- 覆盖:
-
reset
在类FilterInputStream
中 - 抛出:
-
IOException
- 总是抛出 - 参见:
-