Package uk.ac.starlink.util
Class HeadBufferInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
uk.ac.starlink.util.HeadBufferInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
Filter input stream that records the first few bytes read from
its base stream for later examination.
- Since:
- 5 Aug 2015
- Author:
- Mark Taylor
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
Returns the actual buffer used for accumulating the first few bytes in the stream.long
Returns the total number of bytes so far read from the base stream.void
mark
(int readlimit) boolean
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.io.FilterInputStream
available, close
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
HeadBufferInputStream
Constructor.- Parameters:
in
- base input streamheadSize
- size of head buffer
-
-
Method Details
-
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 long getReadCount()Returns the total number of bytes so far read from the base stream.- Returns:
- byte read count
-
read
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classFilterInputStream
- Throws:
IOException
-
skip
- Overrides:
skip
in classFilterInputStream
- Throws:
IOException
-
markSupported
public boolean markSupported()Mark/reset is not supported.- Overrides:
markSupported
in classFilterInputStream
-
reset
- Overrides:
reset
in classFilterInputStream
- Throws:
IOException
-
mark
public void mark(int readlimit) - Overrides:
mark
in classFilterInputStream
-