StringReader
java.lang.Object
|—java.io.Reader
|—|—java.io.StringReader
public class StringReader
extends Reader
源为字符串的字符流。
Since:
JDK1.1
字段摘要
从类 java.io.Reader 继承的字段 |
---|
lock |
构造函数摘要
构造函数 | 描述 |
---|---|
StringReader(String s) | 创建一个新的字符串阅读器。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
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.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从类 java.io.Reader 继承的方法 |
---|
read, read |
构造函数详细信息
StringReader
public StringReader(String s)
创建一个新的字符串阅读器。
参数:
参数名称 | 参数描述 |
---|---|
s | 提供字符流的字符串。 |
方法详情
read
public int read() throws IOException
读取单个字符。
覆盖:
read in class Reader
返回:
读取的字符,如果已到达流的末尾,则为 -1
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
read
public int read(char[] cbuf, int off, int len) throws IOException
将字符读入数组的一部分。
指定者:
read in class Reader
参数:
参数名称 | 参数描述 |
---|---|
cbuf | 目标缓冲区 |
off | 开始写入字符的偏移量 |
len | 要读取的最大字符数 |
返回:
读取的字符数,如果已到达流的末尾,则为 -1
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
skip
public long skip(long ns) throws IOException
跳过流中指定数量的字符。 返回被跳过的字符数。
ns 参数可能为负数,即使 Reader 超类的 skip 方法在这种情况下会抛出异常。 ns 的负值导致流向后跳过。 负返回值表示向后跳过。 不能向后跳过字符串的开头。
如果整个字符串已被读取或跳过,则此方法无效,始终返回 0。
覆盖:
skip in class Reader
参数:
参数名称 | 参数描述 |
---|---|
ns | 要跳过的字符数 |
返回:
实际跳过的字符数
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
ready
public boolean ready() throws IOException
告诉这个流是否准备好被读取。
覆盖:
ready in class Reader
返回:
如果保证下一个 read() 不会阻塞输入,则为 true
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果流关闭 |
markSupported
public boolean markSupported()
告诉这个流是否支持 mark() 操作,它支持。
覆盖:
markSupported in class Reader
返回:
当且仅当此流支持标记操作时才为 true。
mark
public void mark(int readAheadLimit) throws IOException
标记流中的当前位置。 对 reset() 的后续调用会将流重新定位到该点。
覆盖:
mark in class Reader
参数:
参数名称 | 参数描述 |
---|---|
readAheadLimit | 在保留标记的同时限制可以读取的字符数。 因为流的输入来自字符串,没有实际限制,所以这个参数不能是负数,否则会被忽略。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 readAheadLimit < 0 |
IOException | 如果发生 I/O 错误 |
reset
public void reset() throws IOException
将流重置为最近的标记,如果从未标记过,则重置为字符串的开头。
覆盖:
reset in class Reader
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
close
public void close()
关闭流并释放与其关联的任何系统资源。 关闭流后,进一步的 read()、ready()、mark() 或 reset() 调用将引发 IOException。 关闭以前关闭的流没有效果。
指定者:
在接口 AutoCloseable 中关闭
指定者:
在接口Closeable中关闭
指定者:
close in class Reader