Closeable, AutoCloseable, Readablepublic class CharArrayReader extends Reader
The second modification is that since this class is used internally by FastPageParser in a single thread, we don't need any locking or synchronization. Using this class instead of the standard CharArrayReader improves FastPageParser performance by 15-20%.
| Modifier and Type | Field | Description |
|---|---|---|
protected char[] |
buf |
The character buffer.
|
protected int |
count |
The index of the end of this buffer.
|
protected int |
markedPos |
The position of mark in buffer.
|
protected int |
pos |
The current buffer position.
|
| Constructor | Description |
|---|---|
CharArrayReader(char[] buf) |
Create an CharArrayReader from the specified array of chars.
|
CharArrayReader(char[] buf,
int offset,
int length) |
Create an CharArrayReader from the specified array of chars.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
close() |
Close the stream.
|
void |
mark(int readAheadLimit) |
Mark the present position in the stream.
|
boolean |
markSupported() |
Tell whether this stream supports the mark() operation, which it does.
|
int |
read() |
Read a single character.
|
int |
read(char[] b,
int off,
int len) |
Read characters into a portion of an array.
|
boolean |
ready() |
Tell whether this stream is ready to be read.
|
void |
reset() |
Reset the stream to the most recent mark, or to the beginning if it has
never been marked.
|
long |
skip(long n) |
Skip characters.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitread, read, transferToprotected char[] buf
protected int pos
protected int markedPos
protected int count
public CharArrayReader(char[] buf)
buf - Input buffer (not copied)public CharArrayReader(char[] buf,
int offset,
int length)
buf - Input buffer (not copied)offset - Offset of the first char to readlength - Number of chars to readpublic int read()
throws IOException
read in class ReaderIOException - If an I/O error occurspublic int read(char[] b,
int off,
int len)
throws IOException
read in class Readerb - Destination bufferoff - Offset at which to start storing characterslen - Maximum number of characters to readIOException - If an I/O error occurspublic long skip(long n)
throws IOException
skip in class Readern - The number of characters to skipIOException - If an I/O error occurspublic boolean ready()
throws IOException
ready in class ReaderIOException - If an I/O error occurspublic boolean markSupported()
markSupported in class Readerpublic void mark(int readAheadLimit)
throws IOException
mark in class ReaderreadAheadLimit - Limit on the number of characters that may be
read while still preserving the mark. Because
the stream's input comes from a character array,
there is no actual limit; hence this argument is
ignored.IOException - If an I/O error occurspublic void reset()
throws IOException
reset in class ReaderIOException - If an I/O error occurs