- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.InflaterInputStream
-
- java.util.zip.GZIPInputStream
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class GZIPInputStream extends InflaterInputStream
This class implements a stream filter for reading compressed data in the GZIP file format.- Since:
- 1.1
- See Also:
InflaterInputStream
-
-
Field Summary
Fields Modifier and Type Field Description protected CRC32
crc
CRC-32 for uncompressed data.protected boolean
eos
Indicates end of input stream.static int
GZIP_MAGIC
GZIP header magic number.-
Fields inherited from class java.io.FilterInputStream
in
-
Fields inherited from class java.util.zip.InflaterInputStream
buf, inf, len
-
-
Constructor Summary
Constructors Constructor Description GZIPInputStream(InputStream in)
Creates 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this input stream and releases any system resources associated with the stream.int
read(byte[] buf, int off, int len)
Reads uncompressed data into an array of bytes.-
Methods inherited from class java.io.FilterInputStream
read
-
Methods inherited from class java.util.zip.InflaterInputStream
available, fill, mark, markSupported, read, reset, skip
-
Methods inherited from class java.io.InputStream
readAllBytes, readNBytes, transferTo
-
-
-
-
Field Detail
-
crc
protected CRC32 crc
CRC-32 for uncompressed data.
-
eos
protected boolean eos
Indicates end of input stream.
-
GZIP_MAGIC
public static final int GZIP_MAGIC
GZIP header magic number.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GZIPInputStream
public GZIPInputStream(InputStream in, int size) throws IOException
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
public GZIPInputStream(InputStream in) throws IOException
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 Detail
-
read
public int read(byte[] buf, int off, int len) throws IOException
Reads uncompressed data into an array of bytes. Iflen
is not zero, the method will block until some input can be decompressed; otherwise, no bytes are read and0
is returned.- Overrides:
read
in classInflaterInputStream
- Parameters:
buf
- the buffer into which the data is readoff
- the start offset in the destination arrayb
len
- the maximum number of bytes read- Returns:
- the actual number of bytes read, 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:
FilterInputStream.in
-
close
public void close() throws IOException
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:
FilterInputStream.in
-
-