- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.DeflaterInputStream
-
- 实现的所有接口
-
Closeable
,AutoCloseable
public class DeflaterInputStream extends FilterInputStream
实现输入流过滤器,以“压缩”压缩格式压缩数据。- 从以下版本开始:
- 1.6
- 另请参见:
-
DeflaterOutputStream
,InflaterOutputStream
,InflaterInputStream
-
-
字段汇总
字段 变量和类型 字段 描述 protected byte[]
buf
输入缓冲区用于读取压缩数据。protected Deflater
def
此流的压缩器。-
声明的属性在类 java.io.FilterInputStream
in
-
-
构造方法摘要
构造方法 构造器 描述 DeflaterInputStream(InputStream in)
使用默认压缩器和缓冲区大小创建新的输入流。DeflaterInputStream(InputStream in, Deflater defl)
使用指定的压缩器和默认缓冲区大小创建新的输入流。DeflaterInputStream(InputStream in, Deflater defl, int bufLen)
使用指定的压缩器和缓冲区大小创建新的输入流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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)
跳过并丢弃输入流中的数据。-
声明方法的类 java.io.FilterInputStream
read
-
声明方法的类 java.io.InputStream
nullInputStream, readAllBytes, readNBytes, 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)
-
-