java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
java.util.zip.GZIPInputStream
- 所有已实现的接口:
-
Closeable
,AutoCloseable
该类实现了用于读取GZIP文件格式中压缩数据的流过滤器。
- 自从:
- 1.1
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionprotected CRC32
未压缩数据的CRC-32。protected boolean
输入流结束指示。static final int
GZIP 头的魔数。Fields declared in class java.util.zip.InflaterInputStream
buf, inf, len
Fields declared in class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorDescription使用默认缓冲区大小创建新的输入流。GZIPInputStream
(InputStream in, int size) 使用指定缓冲区大小创建新的输入流。 -
Method Summary
Methods declared in class java.util.zip.InflaterInputStream
available, fill, mark, markSupported, read, reset, skip
Methods declared in class java.io.FilterInputStream
read
Methods 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 错误 - 参见:
-