- 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 Deflaterdef此流的压缩器。-
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 方法 描述 intavailable()到达EOF后返回0,否则总是返回1。voidclose()关闭此输入流及其底层输入流,丢弃任何待处理的未压缩数据。voidmark(int limit)不支持此操作 。booleanmarkSupported()intread()从输入流读取一个字节的压缩数据。intread(byte[] b, int off, int len)将压缩数据读入字节数组。voidreset()不支持此操作 。longskip(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)
-
-