public class StringReader
ImplementsAutoCloseable
A specialized
Reader that reads characters from a String in
a sequential manner.See also
Constructors
public StringReader(String str) | Construct a new StringReader with str as source. |
Methods
public void close() | Closes this reader. |
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 the source string and returns it as an integer with the two higher-order bytes set to 0. Returns -1 if the end of the source string has been reached. |
public int read(char[] buf, int offset, int len)
throws IOException | Reads at most len characters from the source string 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 ns)
throws IOException | Moves ns characters in the source string. |
Inherited fields
Inherited methods
Constructor details
StringReader
public StringReader(String str)Construct a new
StringReader with str as source. The size
of the reader is set to the length() of the string and the Object
to synchronize access through is set to str.Parameters
strString- the source string for this reader.
Method details
close
public void close()Closes this reader. Once it is closed, read operations on this reader
will throw an
IOException. 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 this class. Calling reset() will reposition the
reader back to the marked position.Parameters
readLimitint- ignored for
StringReaderinstances.
Throws
IllegalArgumentException- if
readLimit < 0. IOException- if this reader is closed.
See also
markSupported
public boolean markSupported()Indicates whether this reader supports the
mark() and reset() methods. This implementation returns true.Returns
always
true.read
public int read()
throws IOExceptionReads a single character from the source string and returns it as an
integer with the two higher-order bytes set to 0. Returns -1 if the end
of the source string has been reached.
Returns
the character read or -1 if the end of the source string has been
reached.
Throws
IOException- if this reader is closed.
read
public int read(char[] buf, int offset, int len)
throws IOExceptionReads at most
len characters from the source string and stores
them at offset in the character array buf. Returns the
number of characters actually read or -1 if the end of the source string
has been reached.Parameters
bufchar[]- 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
the number of characters read or -1 if the end of the reader has
been reached.
Throws
IndexOutOfBoundsException- if
offset < 0orlen < 0, or ifoffset + lenis greater than the size ofbuf. IOException- if this reader is closed.
ready
public boolean ready()
throws IOExceptionIndicates whether this reader is ready to be read without blocking. This
implementation always returns
true.Returns
always
true.Throws
IOException- if this reader is closed.
See also
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 source string.Throws
IOException- if this reader is closed.
See also
skip
public long skip(long ns)
throws IOExceptionMoves
ns characters in the source string. Unlike the overridden method, this method may skip negative skip
distances: this rewinds the input so that characters may be read again.
When the end of the source string has been reached, the input cannot be
rewound.Parameters
nslong- the maximum number of characters to skip. Positive values skip forward; negative values skip backward.
Returns
the number of characters actually skipped. This is bounded below
by the number of characters already read and above by the
number of characters remaining:
-(num chars already read) <= distance skipped <= num chars remaining.Throws
IOException- if this reader is closed.