StringReader (Java 2 Platform SE 5.0) (original) (raw)


java.io

Class StringReader

java.lang.Object extended by java.io.Reader extended by java.io.StringReader

All Implemented Interfaces:

Closeable, Readable


public class StringReader

extends Reader

A character stream whose source is a string.

Since:

JDK1.1


Field Summary
Fields inherited from class java.io.Reader
lock
Constructor Summary
StringReader(String s) Create a new string reader.
Method Summary
void close() Close the stream.
void mark(int readAheadLimit) Mark the present position in the stream.
boolean markSupported() Tell whether this stream supports the mark() operation, which it does.
int read() Read a single character.
int [read](../../java/io/StringReader.html#read%28char[], int, int%29)(char[] cbuf, int off, int len) Read characters into a portion of an array.
boolean ready() Tell whether this stream is ready to be read.
void reset() Reset 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.
Methods inherited from class java.io.Reader
read, read
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../java/lang/Object.html#wait%28long, int%29)
Constructor Detail

StringReader

public StringReader(String s)

Create a new string reader.

Parameters:

s - String providing the character stream.

Method Detail

read

public int read() throws IOException

Read a single character.

Overrides:

[read](../../java/io/Reader.html#read%28%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Returns:

The character read, or -1 if the end of the stream has been reached

Throws:

[IOException](../../java/io/IOException.html "class in java.io") - If an I/O error occurs


read

public int read(char[] cbuf, int off, int len) throws IOException

Read characters into a portion of an array.

Specified by:

[read](../../java/io/Reader.html#read%28char[], int, int%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Parameters:

cbuf - Destination buffer

off - Offset at which to start writing characters

len - Maximum number of characters to read

Returns:

The number of characters read, or -1 if the end of the stream has been reached

Throws:

[IOException](../../java/io/IOException.html "class in java.io") - If an I/O error occurs


skip

public long skip(long ns) throws IOException

Skips the specified number of characters in the stream. Returns the number of characters that were skipped.

The ns parameter may be negative, even though theskip 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.

Overrides:

[skip](../../java/io/Reader.html#skip%28long%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Parameters:

ns - The number of characters to skip

Returns:

The number of characters actually skipped

Throws:

[IOException](../../java/io/IOException.html "class in java.io") - If an I/O error occurs


ready

public boolean ready() throws IOException

Tell whether this stream is ready to be read.

Overrides:

[ready](../../java/io/Reader.html#ready%28%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Returns:

True if the next read() is guaranteed not to block for input

Throws:

[IOException](../../java/io/IOException.html "class in java.io") - If the stream is closed


markSupported

public boolean markSupported()

Tell whether this stream supports the mark() operation, which it does.

Overrides:

[markSupported](../../java/io/Reader.html#markSupported%28%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Returns:

true if and only if this stream supports the mark operation.


mark

public void mark(int readAheadLimit) throws IOException

Mark the present position in the stream. Subsequent calls to reset() will reposition the stream to this point.

Overrides:

[mark](../../java/io/Reader.html#mark%28int%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Parameters:

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.

Throws:

[IllegalArgumentException](../../java/lang/IllegalArgumentException.html "class in java.lang") - If readAheadLimit is < 0

[IOException](../../java/io/IOException.html "class in java.io") - If an I/O error occurs


reset

public void reset() throws IOException

Reset the stream to the most recent mark, or to the beginning of the string if it has never been marked.

Overrides:

[reset](../../java/io/Reader.html#reset%28%29) in class [Reader](../../java/io/Reader.html "class in java.io")

Throws:

[IOException](../../java/io/IOException.html "class in java.io") - If an I/O error occurs


close

public void close()

Close the stream.

Specified by:

[close](../../java/io/Closeable.html#close%28%29) in interface [Closeable](../../java/io/Closeable.html "interface in java.io")

Specified by:

[close](../../java/io/Reader.html#close%28%29) in class [Reader](../../java/io/Reader.html "class in java.io")



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.