java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
java.util.zip.GZIPInputStream
- 所有已实现的接口:
-
Closeable,AutoCloseable
该类实现了用于读取GZIP文件格式中压缩数据的流过滤器。
- 自从:
- 1.1
- 参见:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CRC32未压缩数据的CRC-32。protected boolean输入流结束指示。static final intGZIP 头的魔数。Fields declared in class java.util.zip.InflaterInputStream
buf, inf, lenFields declared in class java.io.FilterInputStream
in -
Constructor Summary
ConstructorsConstructorDescription使用默认缓冲区大小创建新的输入流。GZIPInputStream(InputStream in, int size) 使用指定缓冲区大小创建新的输入流。 -
Method Summary
Methods declared in class java.util.zip.InflaterInputStream
available, fill, mark, markSupported, read, reset, skipMethods declared in class java.io.FilterInputStream
readMethods declared in class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
crc
未压缩数据的CRC-32。 -
eos
protected boolean eos输入流结束指示。 -
GZIP_MAGIC
public static final int GZIP_MAGICGZIP 头的魔数。- 参见:
-
-
Constructor Details
-
GZIPInputStream
使用指定缓冲区大小创建新的输入流。- 参数:
-
in- 输入流 -
size- 输入缓冲区大小 - 抛出:
-
ZipException- 如果发生 GZIP 格式错误或使用的压缩方法不受支持 -
IOException- 如果发生 I/O 错误 -
IllegalArgumentException- 如果size <= 0
-
GZIPInputStream
使用默认缓冲区大小创建新的输入流。- 参数:
-
in- 输入流 - 抛出:
-
ZipException- 如果发生 GZIP 格式错误或使用的压缩方法不受支持 -
IOException- 如果发生 I/O 错误
-
-
Method Details
-
read
将未压缩数据读入字节数组,返回膨胀字节数。如果len不为零,则该方法将阻塞,直到可以解压缩一些输入;否则,不会读取任何字节并返回0。如果此方法返回非零整数 n,则
buf[off]到buf[off+n-1]包含未压缩数据。元素buf[off+n]到buf[off+len-1]的内容是未定义的,与InputStream超类的规范相反,因此在膨胀操作期间实现可以自由修改这些元素。如果此方法返回-1或抛出异常,则buf[off]到buf[off+len-1]的内容是未定义的。- 覆盖:
-
read在类InflaterInputStream中 - 参数:
-
buf- 读取数据的缓冲区 -
off- 目标数组buf中的起始偏移量 -
len- 最大读取字节数 - 返回:
- 实际膨胀字节数,如果到达压缩输入流的末尾则返回 -1
- 抛出:
-
NullPointerException- 如果buf为null -
IndexOutOfBoundsException- 如果off为负数,len为负数,或len大于buf.length - off -
ZipException- 如果压缩输入数据损坏 -
IOException- 如果发生 I/O 错误 - 参见:
-
close
关闭此输入流并释放与流关联的任何系统资源。- 指定者:
-
close在接口AutoCloseable中 - 指定者:
-
close在接口Closeable中 - 覆盖:
-
close在类InflaterInputStream中 - 抛出:
-
IOException- 如果发生 I/O 错误 - 参见:
-