public class CharArrayReader
extends java.io.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 and 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 and 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 and 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.
|
protected 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 java.io.IOException
read in class java.io.Readerjava.io.IOException - If an I/O error occurspublic int read(char[] b,
int off,
int len)
throws java.io.IOException
read in class java.io.Readerb - Destination bufferoff - Offset at which to start storing characterslen - Maximum number of characters to readjava.io.IOException - If an I/O error occurspublic long skip(long n)
throws java.io.IOException
skip in class java.io.Readern - The number of characters to skipjava.io.IOException - If an I/O error occurspublic boolean ready()
throws java.io.IOException
ready in class java.io.Readerjava.io.IOException - If an I/O error occurspublic boolean markSupported()
markSupported in class java.io.Readerpublic void mark(int readAheadLimit)
throws java.io.IOException
mark in class java.io.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.java.io.IOException - If an I/O error occurspublic void reset()
throws java.io.IOException
reset in class java.io.Readerjava.io.IOException - If an I/O error occurspublic void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.Reader