Closeable
, AutoCloseable
GZIPInputStream
, ZipInputStream
public class InflaterInputStream extends FilterInputStream
Modifier and Type | Field | Description |
---|---|---|
protected byte[] |
buf |
Input buffer for decompression. |
protected Inflater |
inf |
Decompressor for this stream. |
protected int |
len |
The total number of bytes read into the input buffer. |
in
Constructor | Description |
---|---|
InflaterInputStream |
Creates a new input stream with a default decompressor and buffer size. |
InflaterInputStream |
Creates a new input stream with the specified decompressor and a default buffer size. |
InflaterInputStream |
Creates a new input stream with the specified decompressor and buffer size. |
Modifier and Type | Method | Description |
---|---|---|
int |
available() |
Returns 0 after EOF has been reached, otherwise always return 1. |
void |
close() |
Closes this input stream and releases any system resources associated with the stream. |
protected void |
fill() |
Fills input buffer with more data to decompress. |
void |
mark |
Marks the current position in this input stream. |
boolean |
markSupported() |
Tests if this input stream supports the mark and reset methods. |
int |
read() |
Reads a byte of uncompressed data. |
int |
read |
Reads uncompressed data into an array of bytes, returning the number of inflated bytes. |
void |
reset() |
Repositions this stream to the position at the time the mark method was last called on this input stream. |
long |
skip |
Skips specified number of bytes of uncompressed data. |
read
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
protected Inflater inf
protected byte[] buf
protected int len
public InflaterInputStream(InputStream in, Inflater inf, int size)
in
- the input streaminf
- the decompressor ("inflater")size
- the input buffer sizeIllegalArgumentException
- if size <= 0
public InflaterInputStream(InputStream in, Inflater inf)
in
- the input streaminf
- the decompressor ("inflater")public InflaterInputStream(InputStream in)
in
- the input streampublic int read() throws IOException
read
in class FilterInputStream
IOException
- if an I/O error has occurredpublic int read(byte[] b, int off, int len) throws IOException
len
is not zero, the method will block until some input can be decompressed; otherwise, no bytes are read and 0
is returned. If this method returns a nonzero integer n then buf[off]
through buf[off+
n-1]
contain the uncompressed data. The content of elements buf[off+
n]
through buf[off+
len-1]
is undefined, contrary to the specification of the InputStream
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 of buf[off]
through buf[off+
len
-1]
is undefined.
read
in class FilterInputStream
b
- the buffer into which the data is readoff
- the start offset in the destination array b
len
- the maximum number of bytes readNullPointerException
- If b
is null
.IndexOutOfBoundsException
- If off
is negative, len
is negative, or len
is greater than b.length - off
ZipException
- if a ZIP format error has occurredIOException
- if an I/O error has occurredpublic int available() throws IOException
Programs should not count on this method to return the actual number of bytes that could be read without blocking.
available
in class FilterInputStream
IOException
- if an I/O error occurs.public long skip(long n) throws IOException
skip
in class FilterInputStream
n
- the number of bytes to skipIOException
- if an I/O error has occurredIllegalArgumentException
- if n < 0
public void close() throws IOException
close
in interface AutoCloseable
close
in interface Closeable
close
in class FilterInputStream
IOException
- if an I/O error has occurredprotected void fill() throws IOException
buf
.length bytes into the input buffer, buf
, starting at element 0
. The len
field will be set to the number of bytes read.IOException
- if an I/O error has occurredEOFException
- if the end of input stream has been reached unexpectedlypublic boolean markSupported()
mark
and reset
methods. The markSupported
method of InflaterInputStream
returns false
.markSupported
in class FilterInputStream
boolean
indicating if this stream type supports the mark
and reset
methods.public void mark(int readlimit)
mark
in class FilterInputStream
mark
method of InflaterInputStream
does nothing.readlimit
- the maximum limit of bytes that can be read before the mark position becomes invalid.public void reset() throws IOException
mark
method was last called on this input stream.reset
in class FilterInputStream
reset
for class InflaterInputStream
does nothing except throw an IOException
.IOException
- if this method is invoked.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/zip/InflaterInputStream.html