Package org.eclipse.mat.hprof
Class GZIPInputStream2
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.eclipse.mat.hprof.GZIPInputStream2
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class GZIPInputStream2 extends FilterInputStream
A stream for reading Gzip compressed files. Uses a modifiedInflaterInputStream
to allow the state of the stream to be duplicated, aiding code for random access to Gzip files.
-
-
Constructor Summary
Constructors Constructor Description GZIPInputStream2(InputStream is)
Normal constructorGZIPInputStream2(GZIPInputStream2 gs)
Copy constructor used for duplicating a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
String
comment()
String
filename()
void
mark(int limit)
boolean
markSupported()
int
read()
int
read(byte[] buf, int off, int len)
void
reset()
long
skip(long n)
Need to implementFilterInputStream.skip(long)
to the check CRC.String
toString()
-
Methods inherited from class java.io.FilterInputStream
available, read
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
GZIPInputStream2
public GZIPInputStream2(GZIPInputStream2 gs) throws IOException
Copy constructor used for duplicating a stream. To use either stream thereafter the underlying stream must be in the correct position.- Parameters:
gs
- the stream to be duplicated- Throws:
IOException
-
GZIPInputStream2
public GZIPInputStream2(InputStream is) throws IOException
Normal constructor- Parameters:
is
- the compressed data- Throws:
IOException
-
-
Method Detail
-
read
public int read() throws IOException
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
read
public int read(byte[] buf, int off, int len) throws IOException
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
skip
public long skip(long n) throws IOException
Need to implementFilterInputStream.skip(long)
to the check CRC. We can call the underlyingskip(long)
if we are rereading data.- Overrides:
skip
in classFilterInputStream
- Parameters:
n
- bytes to skip- Returns:
- bytes actually skipped
- Throws:
IOException
-
comment
public String comment()
-
filename
public String filename()
-
mark
public void mark(int limit)
- Overrides:
mark
in classFilterInputStream
-
reset
public void reset() throws IOException
- Overrides:
reset
in classFilterInputStream
- Throws:
IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classFilterInputStream
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterInputStream
- Throws:
IOException
-
-