java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
java.util.zip.GZIPInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
This class implements a stream filter for reading compressed data in
the GZIP file format.
- Since:
- 1.1
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected CRC32
CRC-32 for uncompressed data.protected boolean
Indicates end of input stream.static final int
GZIP header magic number.Fields declared in class java.util.zip.InflaterInputStream
buf, inf, len
Fields declared in class java.io.FilterInputStream
in
-
Constructor Summary
ConstructorDescriptionCreates a new input stream with a default buffer size.GZIPInputStream
(InputStream in, int size) Creates a new input stream with the specified buffer 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 for uncompressed data. -
eos
protected boolean eosIndicates end of input stream. -
GZIP_MAGIC
public static final int GZIP_MAGICGZIP header magic number.- See Also:
-
-
Constructor Details
-
GZIPInputStream
Creates a new input stream with the specified buffer size.- Parameters:
in
- the input streamsize
- the input buffer size- Throws:
ZipException
- if a GZIP format error has occurred or the compression method used is unsupportedIOException
- if an I/O error has occurredIllegalArgumentException
- ifsize <= 0
-
GZIPInputStream
Creates a new input stream with a default buffer size.- Parameters:
in
- the input stream- Throws:
ZipException
- if a GZIP format error has occurred or the compression method used is unsupportedIOException
- if an I/O error has occurred
-
-
Method Details
-
read
Reads uncompressed data into an array of bytes, returning the number of inflated bytes. Iflen
is not zero, the method will block until some input can be decompressed; otherwise, no bytes are read and0
is returned.If this method returns a nonzero integer n then
buf[off]
throughbuf[off+
n-1]
contain the uncompressed data. The content of elementsbuf[off+
n]
throughbuf[off+
len-1]
is undefined, contrary to the specification of theInputStream
superclass, so an implementation is free to modify these elements during the inflate operation. If this method returns-1
or throws an exception then the content ofbuf[off]
throughbuf[off+
len-1]
is undefined.- Overrides:
read
in classInflaterInputStream
- Parameters:
buf
- the buffer into which the data is readoff
- the start offset in the destination arraybuf
len
- the maximum number of bytes read- Returns:
- the actual number of bytes inflated, or -1 if the end of the compressed input stream is reached
- Throws:
NullPointerException
- Ifbuf
isnull
.IndexOutOfBoundsException
- Ifoff
is negative,len
is negative, orlen
is greater thanbuf.length - off
ZipException
- if the compressed input data is corrupt.IOException
- if an I/O error has occurred.- See Also:
-
close
Closes this input stream and releases any system resources associated with the stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInflaterInputStream
- Throws:
IOException
- if an I/O error has occurred- See Also:
-