- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.InflaterInputStream
-
- 实现的所有接口
-
Closeable,AutoCloseable
- 已知直接子类:
-
GZIPInputStream,ZipInputStream
public class InflaterInputStream extends FilterInputStream
此类实现了一个流过滤器,用于以“deflate”压缩格式解压缩数据。 它还用作其他解压缩过滤器的基础,例如GZIPInputStream。- 从以下版本开始:
- 1.1
- 另请参见:
-
Inflater
-
-
构造方法摘要
构造方法 构造器 描述 InflaterInputStream(InputStream in)使用默认的解压缩程序和缓冲区大小创建新的输入流。InflaterInputStream(InputStream in, Inflater inf)使用指定的解压缩程序和默认缓冲区大小创建新的输入流。InflaterInputStream(InputStream in, Inflater inf, int size)使用指定的解压缩程序和缓冲区大小创建新的输入流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 intavailable()达到EOF后返回0,否则始终返回1。voidclose()关闭此输入流并释放与该流关联的所有系统资源。protected voidfill()使用更多数据填充输入缓冲区以进行解压缩。voidmark(int readlimit)标记此输入流中的当前位置。booleanmarkSupported()测试此输入流是否支持mark和reset方法。intread()读取一段未压缩数据。intread(byte[] b, int off, int len)将未压缩的数据读入字节数组。voidreset()将此流重新定位到上次在此输入流上调用mark方法时的位置。longskip(long n)跳过未压缩数据的指定字节数。-
声明方法的类 java.io.FilterInputStream
read
-
声明方法的类 java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
字段详细信息
-
inf
protected Inflater inf
此流的解压缩程序。
-
buf
protected byte[] buf
用于解压缩的输入缓冲区。
-
len
protected int len
输入缓冲区的长度。
-
-
构造方法详细信息
-
InflaterInputStream
public InflaterInputStream(InputStream in, Inflater inf, int size)
使用指定的解压缩程序和缓冲区大小创建新的输入流。- 参数
-
in- 输入流 -
inf- 解压缩程序(“inflater”) -
size- 输入缓冲区大小 - 异常
-
IllegalArgumentException- 如果size <= 0
-
InflaterInputStream
public InflaterInputStream(InputStream in, Inflater inf)
使用指定的解压缩程序和默认缓冲区大小创建新的输入流。- 参数
-
in- 输入流 -
inf- 解压缩程序(“inflater”)
-
InflaterInputStream
public InflaterInputStream(InputStream in)
使用默认的解压缩程序和缓冲区大小创建新的输入流。- 参数
-
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将未压缩的数据读入字节数组。 如果len不为零,则该方法将阻塞,直到某些输入可以解压缩; 否则,不读取任何字节,返回0。- 重写:
-
read,类FilterInputStream - 参数
-
b- 读取数据的缓冲区 -
off- 目标阵列b的起始偏移量 -
len- 读取的最大字节数 - 结果
- 读取的实际字节数,如果达到压缩输入的结尾或需要预设字典,则返回-1
- 异常
-
NullPointerException- 如果b是null。 -
IndexOutOfBoundsException- 如果off为负数,则len为负数,或len为大于b.length - off -
ZipException- 如果发生ZIP格式错误 -
IOException- 如果发生I / O错误 - 另请参见:
-
FilterInputStream.in
-
available
public int available() throws IOException达到EOF后返回0,否则始终返回1。程序不应指望此方法返回可以无阻塞地读取的实际字节数。
- 重写:
-
available在FilterInputStream类 - 结果
- EOF前为1,EOF后为0。
- 异常
-
IOException- 如果发生I / O错误。
-
skip
public long skip(long n) throws IOException跳过未压缩数据的指定字节数。- 重写:
-
skip在FilterInputStream类 - 参数
-
n- 要跳过的字节数 - 结果
- 跳过的实际字节数。
- 异常
-
IOException- 如果发生I / O错误 -
IllegalArgumentException- 如果n < 0
-
close
public void close() throws IOException关闭此输入流并释放与该流关联的所有系统资源。- Specified by:
-
close接口AutoCloseable - Specified by:
-
close接口Closeable - 重写:
-
close在FilterInputStream类 - 异常
-
IOException- 如果发生I / O错误 - 另请参见:
-
FilterInputStream.in
-
fill
protected void fill() throws IOException使用更多数据填充输入缓冲区以进行解压缩。- 异常
-
IOException- 如果发生I / O错误
-
markSupported
public boolean markSupported()
测试此输入流是否支持mark和reset方法。 该markSupported的方法InflaterInputStream返回false。- 重写:
-
markSupported在FilterInputStream类 - 结果
-
boolean指示此流类型是否支持mark和reset方法。 - 另请参见:
-
InputStream.mark(int),InputStream.reset()
-
mark
public void mark(int readlimit)
标记此输入流中的当前位置。mark方法InflaterInputStream什么都不做。- 重写:
-
mark在FilterInputStream类 - 参数
-
readlimit- 标记位置变为无效之前可读取的最大字节数限制。 - 另请参见:
-
InputStream.reset()
-
reset
public void reset() throws IOException将此流重新定位到最后一次在此输入流上调用mark方法时的位置。类
InflaterInputStream的方法reset除了抛出IOException之外什么都不IOException。- 重写:
-
reset,类FilterInputStream - 异常
-
IOException- 如果调用此方法。 - 另请参见:
-
InputStream.mark(int),IOException
-
-