public class

StringReader

extends Reader
java.lang.Object
   ↳ java.io.Reader
     ↳ java.io.StringReader

Class Overview

A specialized Reader that reads characters from a String in a sequential manner.

See Also

Summary

[Expand]
Inherited Fields
From class java.io.Reader
Public Constructors
StringReader(String str)
Construct a new StringReader with str as source.
Public Methods
void close()
Closes this reader.
void mark(int readLimit)
Sets a mark position in this reader.
boolean markSupported()
Indicates whether this reader supports the mark() and reset() methods.
int read(char[] buf, int offset, int len)
Reads at most len characters from the source string and stores them at offset in the character array buf.
int read()
Reads a single character from the source string and returns it as an integer with the two higher-order bytes set to 0.
boolean ready()
Indicates whether this reader is ready to be read without blocking.
void reset()
Resets this reader's position to the last mark() location.
long skip(long ns)
Moves ns characters in the source string.
[Expand]
Inherited Methods
From class java.io.Reader
From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.Readable

Public Constructors

public StringReader (String str)

Since: API Level 1

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
str the source string for this reader.

Public Methods

public void close ()

Since: API Level 1

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.

public void mark (int readLimit)

Since: API Level 1

Sets 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
readLimit ignored for StringReader instances.
Throws
IllegalArgumentException if readLimit < 0.
IOException if this reader is closed.

public boolean markSupported ()

Since: API Level 1

Indicates whether this reader supports the mark() and reset() methods. This implementation returns true.

Returns
  • always true.

public int read (char[] buf, int offset, int len)

Since: API Level 1

Reads 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
buf the character array to store the characters read.
offset the initial position in buffer to store the characters read from this reader.
len 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 < 0 or len < 0, or if offset + len is greater than the size of buf.
IOException if this reader is closed.

public int read ()

Since: API Level 1

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.

Returns
  • the character read or -1 if the end of the source string has been reached.
Throws
IOException if this reader is closed.

public boolean ready ()

Since: API Level 1

Indicates 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.

public void reset ()

Since: API Level 1

Resets 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.

public long skip (long ns)

Since: API Level 1

Moves 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
ns 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.