DecompressorZlibDecompressor.ZlibDirectDecompressorpublic class ZlibDecompressor extends java.lang.Object implements Decompressor
Decompressor based on the popular
zlib compression algorithm.
http://www.zlib.net/| Modifier and Type | Class | Description |
|---|---|---|
static class |
ZlibDecompressor.CompressionHeader |
The headers to detect from compressed data.
|
static class |
ZlibDecompressor.ZlibDirectDecompressor |
| Constructor | Description |
|---|---|
ZlibDecompressor() |
|
ZlibDecompressor(ZlibDecompressor.CompressionHeader header,
int directBufferSize) |
Creates a new decompressor.
|
| Modifier and Type | Method | Description |
|---|---|---|
int |
decompress(byte[] b,
int off,
int len) |
Fills specified buffer with uncompressed data.
|
void |
end() |
Closes the decompressor and discards any unprocessed input.
|
protected void |
finalize() |
|
boolean |
finished() |
Returns
true if the end of the decompressed
data output stream has been reached. |
long |
getBytesRead() |
Returns the total number of compressed bytes input so far.
|
long |
getBytesWritten() |
Returns the total number of uncompressed bytes output so far.
|
int |
getRemaining() |
Returns the number of bytes remaining in the input buffers; normally
called when finished() is true to determine amount of post-gzip-stream
data.
|
boolean |
needsDictionary() |
Returns
true if a preset dictionary is needed for decompression. |
boolean |
needsInput() |
Returns
true if the input data buffer is empty and
Decompressor.setInput(byte[], int, int) should be called to
provide more input. |
void |
reset() |
Resets everything including the input buffers (user and direct).
|
void |
setDictionary(byte[] b,
int off,
int len) |
Sets preset dictionary for compression.
|
void |
setInput(byte[] b,
int off,
int len) |
Sets input data for decompression.
|
public ZlibDecompressor(ZlibDecompressor.CompressionHeader header, int directBufferSize)
header - header.directBufferSize - directBufferSize.public ZlibDecompressor()
public void setInput(byte[] b,
int off,
int len)
DecompressorDecompressor.needsInput() returns
true indicating that more input data is required.
(Both native and non-native versions of various Decompressors require
that the data passed in via b[] remain unmodified until
the caller is explicitly notified--via Decompressor.needsInput()--that the
buffer may be safely modified. With this requirement, an extra
buffer-copy can be avoided.)setInput in interface Decompressorb - Input dataoff - Start offsetlen - Lengthpublic void setDictionary(byte[] b,
int off,
int len)
DecompressorsetDictionary in interface Decompressorb - Dictionary data bytesoff - Start offsetlen - Lengthpublic boolean needsInput()
Decompressortrue if the input data buffer is empty and
Decompressor.setInput(byte[], int, int) should be called to
provide more input.needsInput in interface Decompressortrue if the input data buffer is empty and
Decompressor.setInput(byte[], int, int) should be called in
order to provide more input.public boolean needsDictionary()
Decompressortrue if a preset dictionary is needed for decompression.needsDictionary in interface Decompressortrue if a preset dictionary is needed for decompressionpublic boolean finished()
Decompressortrue if the end of the decompressed
data output stream has been reached. Indicates a concatenated data stream
when finished() returns true and Decompressor.getRemaining()
returns a positive value. finished() will be reset with the
Decompressor.reset() method.finished in interface Decompressortrue if the end of the decompressed
data output stream has been reached.public int decompress(byte[] b,
int off,
int len)
throws java.io.IOException
DecompressorDecompressor.needsInput() should be called in order to determine if more
input data is required.decompress in interface Decompressorb - Buffer for the uncompressed dataoff - Start offset of the datalen - Size of the bufferjava.io.IOException - raised on errors performing I/O.public long getBytesWritten()
public long getBytesRead()
public int getRemaining()
getRemaining in interface Decompressorpublic void reset()
reset in interface Decompressorpublic void end()
Decompressorend in interface Decompressorprotected void finalize()
finalize in class java.lang.ObjectCopyright © 2008–2025 Apache Software Foundation. All rights reserved.