public class EXIInflaterInputStream extends FilterInputStream
Note: Code borrowed from java.util.zip.InflaterInputStream and pushback support added.
| 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 |
|---|
EXIInflaterInputStream(PushbackInputStream 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. |
void |
pushbackAndReset() |
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.
|
readprotected Inflater inf
protected byte[] buf
protected int len
public EXIInflaterInputStream(PushbackInputStream in, Inflater inf, int size)
in - the input streaminf - the decompressor ("inflater")size - the input buffer sizeIllegalArgumentException - if size is ≤ 0public void pushbackAndReset()
throws IOException
IOExceptionpublic int read()
throws IOException
read in class FilterInputStreamIOException - if an I/O error has occurredpublic int read(byte[] b,
int off,
int len)
throws IOException
read in class FilterInputStreamb - the buffer into which the data is readoff - the start offset of the datalen - the maximum number of bytes readZipException - 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 FilterInputStreamIOException - if an I/O error occurs.public long skip(long n)
throws IOException
skip in class FilterInputStreamn - the number of bytes to skipIOException - if an I/O error has occurredIllegalArgumentException - if n < 0public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class FilterInputStreamIOException - if an I/O error has occurredprotected 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 FilterInputStreamboolean 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 FilterInputStreamreadlimit - 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 FilterInputStreamIOException - if this method is invoked.InputStream.mark(int),
IOExceptionCopyright © 2018 Siemens AG. All rights reserved.