public class CharArrayReader extends 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 |
---|
CharArrayReader(char[] buf)
Creates a CharArrayReader from the specified array of chars.
|
CharArrayReader(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.
|
@Nullable protected char[] buf
protected int count
protected int markedPos
protected int pos
public CharArrayReader(char[] buf)
buf
- Input buffer (not copied)public CharArrayReader(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 readIllegalArgumentException
- 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 void close()
public void mark(int readAheadLimit) throws IOException
mark
in class 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.IOException
- If an I/O error occurspublic boolean markSupported()
markSupported
in class Reader
public int read() throws IOException
read
in class Reader
0x00-0xffff
), or -1
if the end of the stream has been reachedIOException
- If an I/O error occurspublic int read(char[] b, int off, int len) throws IOException
read
in class Reader
b
- Destination bufferoff
- Offset at which to start storing characterslen
- Maximum number of characters to readIOException
- If an I/O error occurspublic boolean ready() throws IOException
ready
in class Reader
IOException
- If an I/O error occurspublic void reset() throws IOException
reset
in class Reader
IOException
- If an I/O error occurspublic long skip(long n) throws 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 Reader
n
- The number of characters to skipIOException
- If the stream is closed, or an I/O error occurs