Class GZIPInputStream
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
FieldsModifier and TypeFieldDescriptionprotected CRC32CRC-32 for uncompressed data.protected booleanIndicates end of input stream.static final intGZIP header magic number.Fields declared in class java.util.zip.InflaterInputStream
buf, inf, lenFields declared in class java.io.FilterInputStream
in -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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, 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 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 unsupportedNullPointerException- ifinis nullIOException- 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 unsupportedNullPointerException- ifinis nullIOException- if an I/O error has occurred
-
-
Method Details
-
read
Reads uncompressed data into an array of bytes, returning the number of inflated bytes. Iflenis not zero, the method will block until some input can be decompressed; otherwise, no bytes are read and0is 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 theInputStreamsuperclass, so an implementation is free to modify these elements during the inflate operation. If this method returns-1or throws an exception then the content ofbuf[off]throughbuf[off+len-1]is undefined.- Overrides:
readin classInflaterInputStream- Parameters:
buf- the buffer into which the data is readoff- the start offset in the destination arraybuflen- 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- Ifbufisnull.IndexOutOfBoundsException- Ifoffis negative,lenis negative, orlenis greater thanbuf.length - offZipException- 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInflaterInputStream- Throws:
IOException- if an I/O error has occurred- See Also:
-