@DoNotPool public class BuiltInGzipDecompressor extends Object implements Decompressor
Decompressor based on the popular gzip compressed file format.
http://www.gzip.org/| 构造器和说明 |
|---|
BuiltInGzipDecompressor()
Creates a new (pure Java) gzip decompressor.
|
| 限定符和类型 | 方法和说明 |
|---|---|
int |
decompress(byte[] b,
int off,
int len)
Decompress the data (gzip header, deflate stream, gzip trailer) in the
provided buffer.
|
void |
end()
Closes the decompressor and discards any unprocessed input.
|
boolean |
finished()
Returns true if the end of the gzip substream (single "member") has been
reached.
|
long |
getBytesRead()
Returns the total number of compressed bytes input so far, including
gzip header/trailer bytes.
|
int |
getRemaining()
Returns the number of bytes remaining in the input buffer; 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 buffer, regardless of whether the
current gzip substream is finished.
|
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 BuiltInGzipDecompressor()
public boolean needsInput()
Decompressor.setInput(byte[], int, int) should be called to
provide more input.needsInput 在接口中 Decompressortrue if the input data buffer is empty and
Decompressor.setInput(byte[], int, int) should be called in
order to provide more input.public void setInput(byte[] b,
int off,
int len)
Decompressor.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 在接口中 Decompressorb - Input dataoff - Start offsetlen - Lengthpublic int decompress(byte[] b,
int off,
int len)
throws IOException
decompress 在接口中 Decompressorb - Buffer for the compressed dataoff - Start offset of the datalen - Size of the bufferIOExceptionpublic long getBytesRead()
public int getRemaining()
setInput(byte[] b, int off,
int len) and before decompress(byte[] b, int off, int len).
(That is, after decompress(byte[] b, int off, int len) it
always returns zero, except in finished state with concatenated data.)getRemaining 在接口中 Decompressorpublic boolean needsDictionary()
true if a preset dictionary is needed for decompression.needsDictionary 在接口中 Decompressortrue if a preset dictionary is needed for decompressionpublic void setDictionary(byte[] b,
int off,
int len)
setDictionary 在接口中 Decompressorb - Dictionary data bytesoff - Start offsetlen - Lengthpublic boolean finished()
finished 在接口中 Decompressortrue if the end of the decompressed
data output stream has been reached.public void reset()
reset 在接口中 Decompressorpublic void end()
end 在接口中 DecompressorCopyright © 2009 The Apache Software Foundation