uk.ac.starlink.util
Class HeadBufferInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
uk.ac.starlink.util.HeadBufferInputStream
- All Implemented Interfaces:
- Closeable
public class HeadBufferInputStream
- extends FilterInputStream
Filter input stream that records the first few bytes read from
its base stream for later examination.
- Since:
- 5 Aug 2015
Method Summary |
byte[] |
getHeadBuffer()
Returns the actual buffer used for accumulating the first few bytes
in the stream. |
int |
getReadCount()
Returns the total number of bytes so far read from the base stream. |
void |
mark(int readlimit)
|
boolean |
markSupported()
Mark/reset is not supported. |
int |
read()
|
int |
read(byte[] b)
|
int |
read(byte[] b,
int off,
int len)
|
void |
reset()
|
long |
skip(long n)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HeadBufferInputStream
public HeadBufferInputStream(InputStream in,
int headSize)
- Constructor.
- Parameters:
in
- base input streamheadSize
- size of head buffer
getHeadBuffer
public byte[] getHeadBuffer()
- Returns the actual buffer used for accumulating the first few bytes
in the stream. If the read count is lower than the size of this
buffer, not all the buffer has been filled.
- Returns:
- buffer, same length as size supplied at construction time
getReadCount
public int getReadCount()
- Returns the total number of bytes so far read from the base stream.
- Returns:
- byte read count
read
public int read()
throws IOException
- Overrides:
read
in class FilterInputStream
- Throws:
IOException
read
public int read(byte[] b)
throws IOException
- Overrides:
read
in class FilterInputStream
- Throws:
IOException
read
public int read(byte[] b,
int off,
int len)
throws IOException
- Overrides:
read
in class FilterInputStream
- Throws:
IOException
skip
public long skip(long n)
throws IOException
- Overrides:
skip
in class FilterInputStream
- Throws:
IOException
markSupported
public boolean markSupported()
- Mark/reset is not supported.
- Overrides:
markSupported
in class FilterInputStream
reset
public void reset()
throws IOException
- Overrides:
reset
in class FilterInputStream
- Throws:
IOException
mark
public void mark(int readlimit)
- Overrides:
mark
in class FilterInputStream