net.i2p.util
Class ResettableGZIPInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
java.util.zip.InflaterInputStream
net.i2p.util.ResettableGZIPInputStream
- All Implemented Interfaces:
- Closeable
- Direct Known Subclasses:
- ReusableGZIPInputStream
public class ResettableGZIPInputStream
- extends InflaterInputStream
GZIP implementation per
RFC 1952, reusing
java's standard CRC32 and Inflater and InflaterInputStream implementations.
The main difference is that this implementation allows its state to be
reset to initial values, and hence reused, while the standard
GZIPInputStream reads the GZIP header from the stream on instantiation.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResettableGZIPInputStream
public ResettableGZIPInputStream()
- Build a new GZIP stream without a bound compressed stream. You need
to initialize this with initialize(compressedStream) when you want to
decompress a stream.
ResettableGZIPInputStream
public ResettableGZIPInputStream(InputStream compressedStream)
throws IOException
- Throws:
IOException
initialize
public void initialize(InputStream compressedStream)
throws IOException
- Blocking call to initialize this stream with the data from the given
compressed stream.
- Throws:
IOException
read
public int read()
throws IOException
- Overrides:
read
in class InflaterInputStream
- Throws:
IOException
read
public int read(byte[] buf)
throws IOException
- Overrides:
read
in class FilterInputStream
- Throws:
IOException
read
public int read(byte[] buf,
int off,
int len)
throws IOException
- Overrides:
read
in class InflaterInputStream
- Throws:
IOException
getCurrentCRCVal
long getCurrentCRCVal()
verifyFooter
void verifyFooter()
throws IOException
- Throws:
IOException