|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.io
类 StringReader
java.lang.Object java.io.Reader java.io.StringReader
-
public class StringReader
- extends Reader
其源为一个字符串的字符流。
- 从以下版本开始:
- JDK1.1
字段摘要 |
---|
从类 java.io.Reader 继承的字段 |
---|
lock |
构造方法摘要 | |
---|---|
StringReader(String s) 创建一个新字符串 reader。 |
方法摘要 | |
---|---|
void |
close() 关闭该流。 |
void |
mark(int readAheadLimit) 标记流中的当前位置。 |
boolean |
markSupported() 告知此流是否支持 mark() 操作以及支持哪一项操作。 |
int |
read() 读取单个字符。 |
int |
read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。 |
boolean |
ready() 告知是否准备读取此流。 |
void |
reset() 将该流重置为最新的标记,如果从未标记过,则将其重置到该字符串的开头。 |
long |
skip(long ns) 跳过流中指定数量的字符。 |
从类 java.io.Reader 继承的方法 |
---|
read, read |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
StringReader
public StringReader(String s)
-
创建一个新字符串 reader。
- 参数:
-
s
- 提供字符流的字符串。
方法详细信息 |
---|
read
public int read() throws IOException
- 读取单个字符。
-
- 返回:
- 读取的字符,如果已到达流的末尾,则返回 -1
- 抛出:
-
IOException
- 如果发生 I/O 错误
read
public int read(char[] cbuf, int off, int len) throws IOException
- 将字符读入数组的某一部分。
-
- 参数:
-
cbuf
- 目标缓冲区 -
off
- 开始写入字符处的偏移量 -
len
- 要读取的最多字符数 - 返回:
- 读取的字符数,如果已到达流的末尾,则返回 -1
- 抛出:
-
IOException
- 如果发生 I/O 错误
skip
public long skip(long ns) throws IOException
-
跳过流中指定数量的字符。返回跳过的字符数。
ns
参数可能为负数,即便Reader
超类的skip
方法在此情况下会抛出一个异常。ns
为负值导致此流向后跳读。负返回值指示向后跳读。向后跳读不可能超过字符串的开头。如果读取或跳读了整个字符串,则此方法无效且始终返回 0。
-
- 参数:
-
ns
- 要跳过的字符数 - 返回:
- 实际跳过的字符数
- 抛出:
-
IOException
- 如果发生 I/O 错误
ready
public boolean ready() throws IOException
- 告知是否准备读取此流。
-
- 返回:
- 如果保证下一个 read() 不阻塞输入,则返回 True
- 抛出:
-
IOException
- 如果该流已关闭
markSupported
public boolean markSupported()
- 告知此流是否支持 mark() 操作以及支持哪一项操作。
-
- 覆盖:
-
类
Reader
中的markSupported
-
- 返回:
- 当且仅当此流支持此 mark 操作时,返回 true。
mark
public void mark(int readAheadLimit) throws IOException
- 标记流中的当前位置。对 reset() 的后续调用会将该流重新定位到此点。
-
- 参数:
-
readAheadLimit
- 在仍保留该标记的情况下,对可读取字符数量的限制。由于该流的输入来自一个字符串,不存在实际的限制,因此,此参数决不能为负数,否则将被忽略。 - 抛出:
-
IllegalArgumentException
- 如果 readAheadLimit < 0 -
IOException
- 如果发生 I/O 错误
reset
public void reset() throws IOException
- 将该流重置为最新的标记,如果从未标记过,则将其重置到该字符串的开头。
-
- 抛出:
-
IOException
- 如果发生 I/O 错误