public class FastStringReader
extends java.io.Reader
implements java.lang.CharSequence
(shay.banon )
Constructor and Description |
---|
FastStringReader(java.lang.String s)
Creates a new string reader.
|
Modifier and Type | Method and Description |
---|---|
char |
charAt(int index) |
void |
close()
Closes the stream and releases any system resources associated with
it.
|
int |
length() |
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[] cbuf,
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 of the
string if it has never been marked.
|
long |
skip(long ns)
Skips the specified number of characters in the stream.
|
java.lang.CharSequence |
subSequence(int start,
int end) |
java.lang.String |
toString() |
public FastStringReader(java.lang.String s)
s
- String providing the character stream.public int length()
length
in interface java.lang.CharSequence
public char charAt(int index)
charAt
in interface java.lang.CharSequence
public java.lang.CharSequence subSequence(int start, int end)
subSequence
in interface java.lang.CharSequence
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[] cbuf, int off, int len) throws java.io.IOException
read
in class java.io.Reader
cbuf
- Destination bufferoff
- Offset at which to start writing characterslen
- Maximum number of characters to readjava.io.IOException
- If an I/O error occurspublic long skip(long ns) throws java.io.IOException
The ns
parameter may be negative, even though the
skip
method of the Reader
superclass throws
an exception in this case. Negative values of ns
cause the
stream to skip backwards. Negative return values indicate a skip
backwards. It is not possible to skip backwards past the beginning of
the string.
If the entire string has been read or skipped, then this method has no effect and always returns 0.
skip
in class java.io.Reader
java.io.IOException
- If an I/O error occurspublic boolean ready() throws java.io.IOException
ready
in class java.io.Reader
java.io.IOException
- If the stream is closedpublic 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 string, there
is no actual limit, so this argument must not
be negative, but is otherwise ignored.java.lang.IllegalArgumentException
- If readAheadLimit is < 0java.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
public java.lang.String toString()
toString
in interface java.lang.CharSequence
toString
in class java.lang.Object