public class InflaterInputStream extends FilterInputStream
Inflater
Modifier and Type | Field and Description |
---|---|
protected byte[] |
buf
Input buffer for decompression.
|
protected Inflater |
inf
Decompressor for this stream.
|
protected int |
len
Length of input buffer.
|
in
Constructor and Description |
---|
InflaterInputStream(InputStream in)
Creates a new input stream with a default decompressor and buffer size.
|
InflaterInputStream(InputStream in,
Inflater inf)
Creates a new input stream with the specified decompressor and a
default buffer size.
|
InflaterInputStream(InputStream in,
Inflater inf,
int size)
Creates a new input stream with the specified decompressor and
buffer size.
|
Modifier and Type | Method and 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(int readlimit)
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(byte[] b,
int off,
int len)
Reads uncompressed data into an array of bytes.
|
void |
reset()
Repositions this stream to the position at the time the
mark method was last called on this input stream. |
long |
skip(long n)
Skips specified number of bytes of uncompressed data.
|
read
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 occurredFilterInputStream.in
public 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.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 occurredFilterInputStream.in
public 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 Closeable
close
in interface AutoCloseable
close
in class FilterInputStream
IOException
- if an I/O error has occurredFilterInputStream.in
protected void fill() throws IOException
IOException
- if an I/O error has occurredpublic 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.InputStream.mark(int)
,
InputStream.reset()
public void mark(int readlimit)
The mark
method of InflaterInputStream
does nothing.
mark
in class FilterInputStream
readlimit
- the maximum limit of bytes that can be read before
the mark position becomes invalid.InputStream.reset()
public void reset() throws IOException
mark
method was last called on this input stream.
The method reset
for class
InflaterInputStream
does nothing except throw an
IOException
.
reset
in class FilterInputStream
IOException
- if this method is invoked.InputStream.mark(int)
,
IOException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.