Class PeekableInputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.commons.io.input.buffer.CircularBufferInputStream
org.apache.commons.io.input.buffer.PeekableInputStream
- All Implemented Interfaces:
- Closeable,- AutoCloseable
Implements a buffered input stream, which allows to peek into the buffers first bytes. This comes in handy when
 manually implementing scanners, lexers, parsers, and the like.
- Since:
- 2.7
- 
Field SummaryFields inherited from class org.apache.commons.io.input.buffer.CircularBufferInputStreambuffer, bufferSizeFields inherited from class java.io.FilterInputStreamin
- 
Constructor SummaryConstructorsConstructorDescriptionPeekableInputStream(InputStream inputStream) Constructs a new instance, which filters the given input stream, and uses a reasonable default buffer size (IOUtils.DEFAULT_BUFFER_SIZE).PeekableInputStream(InputStream inputStream, int bufferSize) Constructs a new instance, which filters the given input stream, and uses the given buffer size.
- 
Method SummaryModifier and TypeMethodDescriptionbooleanpeek(byte[] sourceBuffer) Returns whether the next bytes in the buffer are as given bysourceBuffer.booleanpeek(byte[] sourceBuffer, int offset, int length) Returns whether the next bytes in the buffer are as given bysourceBuffer, {code offset}, andlength.Methods inherited from class org.apache.commons.io.input.buffer.CircularBufferInputStreamclose, fillBuffer, haveBytes, read, readMethods inherited from class java.io.FilterInputStreamavailable, mark, markSupported, read, reset, skip
- 
Constructor Details- 
PeekableInputStreamConstructs a new instance, which filters the given input stream, and uses a reasonable default buffer size (IOUtils.DEFAULT_BUFFER_SIZE).- Parameters:
- inputStream- The input stream, which is being buffered.
 
- 
PeekableInputStreamConstructs a new instance, which filters the given input stream, and uses the given buffer size.- Parameters:
- inputStream- The input stream, which is being buffered.
- bufferSize- The size of the- CircularByteBuffer, which is used internally.
 
 
- 
- 
Method Details- 
peekReturns whether the next bytes in the buffer are as given bysourceBuffer. This is equivalent topeek(byte[], int, int)withoffset== 0, andlength==sourceBuffer.length- Parameters:
- sourceBuffer- the buffer to compare against
- Returns:
- true if the next bytes are as given
- Throws:
- IOException- Refilling the buffer failed.
 
- 
peekReturns whether the next bytes in the buffer are as given bysourceBuffer, {code offset}, andlength.- Parameters:
- sourceBuffer- the buffer to compare against
- offset- the start offset
- length- the length to compare
- Returns:
- true if the next bytes in the buffer are as given
- Throws:
- IOException- if there is a problem calling fillBuffer()
 
 
-