public class CharArrayReader
ImplementsAutoCloseable
A specialized
Reader for reading the contents of a char array.See also
CharArrayWriter
Fields
protected char[] buf | The buffer for characters. |
protected int pos | The current buffer position. |
protected int markedPos | The current mark position. |
protected int count | The ending index of the buffer. |
Constructors
public CharArrayReader(char[] buf) | Constructs a CharArrayReader on the char array buf. |
public CharArrayReader(char[] buf, int offset, int length) | Constructs a CharArrayReader on the char array buf. |
Methods
public void close() | This method closes this CharArrayReader. |
public void mark(int readLimit)
throws IOException | Sets a mark position in this reader. |
public boolean markSupported() | Indicates whether this reader supports the mark() and reset() methods. |
public int read()
throws IOException | Reads a single character from this reader and returns it as an integer with the two higher-order bytes set to 0. Returns -1 if no more characters are available from this reader. |
public int read(char[] buffer, int offset, int len)
throws IOException | Reads at most count characters from this CharArrayReader and stores them at offset in the character array buf. |
public boolean ready()
throws IOException | Indicates whether this reader is ready to be read without blocking. |
public void reset()
throws IOException | Resets this reader’s position to the last mark() location. |
public long skip(long n)
throws IOException | Skips count number of characters in this reader. |
Inherited fields
Inherited methods
Field details
buf
protected char[] bufThe buffer for characters.
pos
protected int posThe current buffer position.
markedPos
protected int markedPosThe current mark position.
count
protected int countThe ending index of the buffer.
Constructor details
CharArrayReader
public CharArrayReader(char[] buf)Constructs a CharArrayReader on the char array
buf. The size of
the reader is set to the length of the buffer and the object to read
from is set to buf.Parameters
bufchar[]- the char array from which to read.
CharArrayReader
public CharArrayReader(char[] buf, int offset, int length)Constructs a CharArrayReader on the char array
buf. The size of
the reader is set to length and the start position from which to
read the buffer is set to offset.Parameters
bufchar[]- the char array from which to read.
offsetint- the index of the first character in
bufto read. lengthint- the number of characters that can be read from
buf.
Throws
IllegalArgumentException- if
offset < 0orlength < 0, or ifoffsetis greater than the size ofbuf.
Method details
close
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.
mark
public void mark(int readLimit)
throws IOExceptionSets a mark position in this reader. The parameter
readLimit is
ignored for CharArrayReaders. Calling reset() will reposition the
reader back to the marked position provided the mark has not been
invalidated.Parameters
readLimitint- ignored for CharArrayReaders.
Throws
IOException- if this reader is closed.
markSupported
public boolean markSupported()Indicates whether this reader supports the
mark() and
reset() methods.Returns
true for CharArrayReader.See also
read
public int read()
throws IOExceptionReads a single character from this reader and returns it as an integer
with the two higher-order bytes set to 0. Returns -1 if no more
characters are available from this reader.
Returns
the character read as an int or -1 if the end of the reader has
been reached.
Throws
IOException- if this reader is closed.
read
public int read(char[] buffer, int offset, int len)
throws IOExceptionReads 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
bufferchar[]- the character array to store the characters read.
offsetint- the initial position in
bufferto store the characters read from this reader. lenint- the maximum number of characters to read.
Returns
number of characters read or -1 if the end of the reader has been
reached.
Throws
IndexOutOfBoundsException- if
offset < 0orlen < 0, or ifoffset + lenis bigger than the size ofbuffer. IOException- if this reader is closed.
ready
public boolean ready()
throws IOExceptionIndicates whether this reader is ready to be read without blocking.
Returns
true if the next read will not block. Returns
false if this reader may or may not block when read is
called. The implementation in CharArrayReader always returns true
even when it has been closed.Returns
true if this reader will not block when read is
called, false if unknown or blocking will occur.Throws
IOException- if this reader is closed.
reset
public void reset()
throws IOExceptionResets this reader’s position to the last
mark() location.
Invocations of read() and skip() will occur from this new
location. If this reader has not been marked, it is reset to the
beginning of the string.Throws
IOException- if this reader is closed.
skip
public long skip(long n)
throws IOExceptionSkips
count number of characters in this reader. Subsequent
read()s will not return these characters unless reset()
is used. This method does nothing and returns 0 if n is negative.Parameters
nlong- the number of characters to skip.
Returns
the number of characters actually skipped.
Throws
IOException- if this reader is closed.