- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.DeflaterInputStream
-
- All Implemented Interfaces:
-
Closeable
,AutoCloseable
public class DeflaterInputStream extends FilterInputStream
实现用于压缩“放气”压缩格式的数据的输入流过滤器。- 从以下版本开始:
- 1.6
- 另请参见:
-
DeflaterOutputStream
,InflaterOutputStream
,InflaterInputStream
-
-
Field Summary
Fields Modifier and Type Field 描述 protected byte[]
buf
用于读取压缩数据的输入缓冲区protected Deflater
def
此流的压缩器。-
Fields inherited from class java.io.FilterInputStream
in
-
-
构造方法摘要
构造方法 Constructor 描述 DeflaterInputStream(InputStream in)
创建一个具有默认压缩器和缓冲区大小的新输入流。DeflaterInputStream(InputStream in, Deflater defl)
使用指定的压缩器和默认缓冲区大小创建新的输入流。DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
创建具有指定压缩器和缓冲区大小的新输入流。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 int
available()
到达EOF后返回0,否则总是返回1。void
close()
关闭此输入流及其底层输入流,丢弃任何待处理的未压缩数据。void
mark(int limit)
不支持此操作 。boolean
markSupported()
int
read()
从输入流读取一个字节的压缩数据。int
read(byte[] b, int off, int len)
将压缩数据读入字节数组。void
reset()
不支持此操作 。long
skip(long n)
跳过并丢弃输入流中的数据。-
Methods inherited from class java.io.FilterInputStream
read
-
Methods inherited from class java.io.InputStream
readAllBytes, readNBytes, transferTo
-
-
-
-
字段详细信息
-
def
protected final Deflater def
此流的压缩器。
-
buf
protected final byte[] buf
用于读取压缩数据的输入缓冲区
-
-
构造方法详细信息
-
DeflaterInputStream
public DeflaterInputStream(InputStream in)
创建一个具有默认压缩器和缓冲区大小的新输入流。- 参数
-
in
- 用于读取未压缩数据的输入流 - 异常
-
NullPointerException
- 如果in
为空
-
DeflaterInputStream
public DeflaterInputStream(InputStream in, Deflater defl)
使用指定的压缩器和默认缓冲区大小创建新的输入流。- 参数
-
in
- 读取未压缩数据的输入流 -
defl
- 此流的压缩器(“deflater”) - 异常
-
NullPointerException
- 如果in
或defl
为空
-
DeflaterInputStream
public DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
创建具有指定压缩器和缓冲区大小的新输入流。- 参数
-
in
- 输入流以读取未压缩数据 -
defl
- 此流的压缩器(“deflater”) -
bufLen
- 压缩缓冲区大小 - 异常
-
IllegalArgumentException
- 如果是bufLen <= 0
-
NullPointerException
- 如果in
或defl
为空
-
-
方法详细信息
-
close
public void close() throws IOException
关闭此输入流及其底层输入流,丢弃任何待处理的未压缩数据。- Specified by:
-
close
在接口AutoCloseable
- Specified by:
-
close
在接口Closeable
- 重写:
-
close
在FilterInputStream
- 异常
-
IOException
- 如果发生I / O错误 - 另请参见:
-
FilterInputStream.in
-
read
public int read() throws IOException
从输入流读取一个字节的压缩数据。 该方法将阻塞,直到可以读取和压缩一些输入。- 重写:
-
read
在FilterInputStream
- 结果
- 单个字节的压缩数据,如果达到未压缩输入流的结尾,则为-1
- 异常
-
IOException
- 如果发生I / O错误或者该流已经关闭 - 另请参见:
-
FilterInputStream.in
-
read
public int read(byte[] b, int off, int len) throws IOException
将压缩数据读入字节数组。 该方法将阻塞,直到可以读取和压缩一些输入。- 重写:
-
read
在FilterInputStream
- 参数
-
b
- 读取数据的缓冲区 -
off
-b
内数据的起始偏移量 -
len
- 要读取的最大压缩字节数b
- 结果
- 读取的实际字节数,如果达到未压缩输入流的结尾,则为-1
- 异常
-
IndexOutOfBoundsException
- 如果是len > b.length - off
-
IOException
- 如果发生I / O错误或输入流已经关闭 - 另请参见:
-
FilterInputStream.in
-
skip
public long skip(long n) throws IOException
跳过并丢弃输入流中的数据。 该方法可能会阻塞,直到读取和跳过指定的字节数为止。 注:n
为long
,可跳过的最大字节数为Integer.MAX_VALUE
。- 重写:
-
skip
在FilterInputStream
- 参数
-
n
- 要跳过的字节数 - 结果
- 实际跳过的字节数
- 异常
-
IOException
- 如果发生I / O错误或者该流已经关闭
-
available
public int available() throws IOException
到达EOF后返回0,否则总是返回1。程序不应该依赖此方法来返回可以读取而不阻止的实际字节数
- 重写:
-
available
在FilterInputStream
- 结果
- 底层输入流结束后零,否则总是返回1
- 异常
-
IOException
- 如果发生I / O错误或者该流已经关闭
-
markSupported
public boolean markSupported()
- 重写:
-
markSupported
在FilterInputStream
- 结果
- 假,永远
- 另请参见:
-
FilterInputStream.in
,InputStream.mark(int)
,InputStream.reset()
-
mark
public void mark(int limit)
不支持此操作 。- 重写:
-
mark
在FilterInputStream
- 参数
-
limit
- 在使位置标记无效之前可以读取的最大字节数 - 另请参见:
-
FilterInputStream.in
,FilterInputStream.reset()
-
reset
public void reset() throws IOException
不支持此操作 。- 重写:
-
reset
在FilterInputStream
- 异常
-
IOException
- 总是抛出 - 另请参见:
-
FilterInputStream.in
,FilterInputStream.mark(int)
-
-