java.io.CharArrayReader
CharArrayReader is used as a buffered character input stream on a character
array.
Summary
Fields
protected |
|
|
char[] |
buf |
Buffer for characters
|
protected |
|
|
int |
count |
The ending index of the buffer. |
protected |
|
|
int |
markedPos |
Current mark position. |
protected |
|
|
int |
pos |
Current buffer position. |
protected |
|
|
Object |
lock |
The object used to synchronize access to the reader. |
Public Constructors
Public Methods
Methods inherited
from class
java.io.Reader
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
protected
char[]
buf
Buffer for characters
protected
int
count
The ending index of the buffer.
protected
int
markedPos
Current mark position.
protected
int
pos
Current buffer position.
Public Constructors
public
CharArrayReader(char[] buf)
Construct a CharArrayReader on the char array
buffer
. The
size of the reader is set to the
length()
of the buffer
and the Object to synchronize access through is set to
buffer
.
Parameters
buf
| the char array to filter reads on.
|
public
CharArrayReader(char[] buf, int offset, int length)
Construct a CharArrayReader on the char array
buffer
. The
size of the reader is set to the parameter
length()
and
the original offset is set to
offset
.
Parameters
buf
| the char array to filter reads on. |
offset
| the offset in buf to start streaming at. |
length
| the number of characters available to stream over.
|
Public Methods
public
void
close()
This method closes this CharArrayReader. Once it is closed, you can no
longer read from it. Only the first invocation of this method has any
effect.
public
void
mark(int readLimit)
Set a Mark position in this Reader. The parameter
readLimit
is ignored for CharArrayReaders. Sending reset() will reposition the
reader back to the marked position provided the mark has not been
invalidated.
Parameters
readLimit
| ignored for CharArrayReaders. |
Throws
IOException
| If an error occurs attempting to mark this CharArrayReader.
|
public
boolean
markSupported()
Returns a boolean indicating whether or not this CharArrayReader supports
mark() and reset(). This method always returns true.
Returns
- indicates whether or not mark() and reset() are supported.
public
int
read(char[] buffer, int offset, int len)
Reads at most
count
characters from this CharArrayReader
and stores them at
offset
in the character array
buf
. Returns the number of characters actually read or -1
if the end of reader was encountered.
Parameters
buffer
| character array to store the read characters |
offset
| offset in buf to store the read characters |
len
| maximum number of characters to read |
Returns
- number of characters read or -1 if end of reader.
public
int
read()
Reads a single character from this CharArrayReader and returns the result
as an int. The 2 higher-order bytes are set to 0. If the end of reader
was encountered then return -1.
Returns
- int the character read or -1 if end of reader.
public
boolean
ready()
Returns a
boolean
indicating whether or not this
CharArrayReader is ready to be read without blocking. If the result is
true
, the next
read()
will not block. If
the result is
false
this Reader may or may not block when
read()
is sent. The implementation in CharArrayReader
always returns
true
even when it has been closed.
Returns
true
if the receiver will not block when
read()
is called, false
if unknown
or blocking will occur.
public
void
reset()
Reset this CharArrayReader's position to the last
mark()
location. Invocations of
read()/skip()
will occur from
this new location. If this Reader was not marked, the CharArrayReader is
reset to the beginning of the String.
Throws
IOException
| If this CharArrayReader has already been closed.
|
public
long
skip(long n)
Skips
count
number of characters in this CharArrayReader.
Subsequent
read()
's will not return these characters
unless
reset()
is used.
Parameters
n
| The number of characters to skip. |
Returns
- long The number of characters actually skipped.
Throws
IOException
| If this CharArrayReader has already been closed.
|