public class FastCharArrayReader
extends java.io.Reader
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 |
---|
FastCharArrayReader(char[] buf)
Creates a CharArrayReader from the specified array of chars.
|
FastCharArrayReader(char[] buf,
int offset,
int length)
Creates a CharArrayReader from the specified array of chars.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the stream and releases any system resources associated with
it.
|
void |
mark(int readAheadLimit)
Marks the present position in the stream.
|
boolean |
markSupported()
Tells whether this stream supports the mark() operation, which it does.
|
int |
read()
Reads a single character.
|
int |
read(char[] b,
int off,
int len)
Reads characters into a portion of an array.
|
boolean |
ready()
Tells whether this stream is ready to be read.
|
void |
reset()
Resets the stream to the most recent mark, or to the beginning if it has
never been marked.
|
long |
skip(long n)
Skips characters.
|
protected char[] buf
protected int pos
protected int markedPos
protected int count
public FastCharArrayReader(char[] buf)
buf
- Input buffer (not copied)public FastCharArrayReader(char[] buf, int offset, int length)
The resulting reader will start reading at the given offset. The total number of char values that can be read from this reader will be either length or buf.length-offset, whichever is smaller.
buf
- Input buffer (not copied)offset
- Offset of the first char to readlength
- Number of chars to readjava.lang.IllegalArgumentException
- If offset is negative or greater than
buf.length, or if length is negative, or if
the sum of these two values is negative.public int read() throws java.io.IOException
read
in class java.io.Reader
java.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.Reader
b
- 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
The n
parameter may be negative, even though the
skip
method of the Reader
superclass throws
an exception in this case. If n
is negative, then
this method does nothing and returns 0
.
skip
in class java.io.Reader
n
- The number of characters to skipjava.io.IOException
- If the stream is closed, or an I/O error occurspublic boolean ready() throws java.io.IOException
ready
in class java.io.Reader
java.io.IOException
- If an I/O error occurspublic boolean markSupported()
markSupported
in class java.io.Reader
public void mark(int readAheadLimit) throws java.io.IOException
mark
in class java.io.Reader
readAheadLimit
- 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.Reader
java.io.IOException
- If an I/O error occurspublic void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.Reader