java.lang.Object
java.io.Reader
java.io.StringReader
- 所有已实现的接口:
-
Closeable
,AutoCloseable
,Readable
一个字符流,其源是一个字符串。
- 自 JDK 版本:
- 1.1
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
关闭流并释放与其关联的任何系统资源。void
mark
(int readAheadLimit) 在流中标记当前位置。boolean
告知此流是否支持 mark() 操作,它支持。int
read()
读取单个字符。int
read
(char[] cbuf, int off, int len) 将字符读入数组的一部分。boolean
ready()
告知此流是否准备好进行读取。void
reset()
将流重置为最近的标记,如果从未标记过,则重置为字符串的开头。long
skip
(long n) 跳过字符。Methods declared in class java.io.Reader
nullReader, read, read, transferTo
-
Constructor Details
-
StringReader
创建一个新的字符串读取器。- 参数:
-
s
- 提供字符流的字符串。
-
-
Method Details
-
read
读取单个字符。- 覆盖:
-
read
在类中Reader
- 返回:
- 读取的字符,如果已到达流的末尾则返回 -1
- 抛出:
-
IOException
- 如果发生 I/O 错误
-
read
将字符读入数组的一部分。如果
len
为零,则不会读取任何字符并返回0
;否则,将尝试读取至少一个字符。如果由于流已到达末尾而没有字符可用,则返回值为-1
;否则,将读取至少一个字符并存储到cbuf
中。- 指定者:
-
read
在类中Reader
- 参数:
-
cbuf
- 目标缓冲区 -
off
- 开始存储字符的偏移量 -
len
- 要读取的最大字符数 - 返回:
- 读取的字符数,如果已到达流的末尾则返回 -1
- 抛出:
-
IndexOutOfBoundsException
- 如果off
为负数,或者len
为负数,或者len
大于cbuf.length - off
-
IOException
- 如果发生 I/O 错误
-
skip
跳过字符。如果在调用此方法之前流已到达末尾,则不会跳过任何字符并返回零。即使
n
参数为负数,Reader
超类的skip
方法在这种情况下会抛出异常。负值的n
导致流向后跳过。负返回值表示向后跳过。不可能向后跳过超出字符串开头的位置。如果整个字符串已被读取或跳过,则此方法不起作用并始终返回
0
。- 覆盖:
-
skip
在类中Reader
- 参数:
-
n
- 要跳过的字符数 - 返回:
- 实际跳过的字符数
- 抛出:
-
IOException
- 如果发生 I/O 错误
-
ready
告知此流是否准备好进行读取。- 覆盖:
-
ready
在类中Reader
- 返回:
- 如果下一个 read() 调用不会因为没有输入而阻塞,则返回 true
- 抛出:
-
IOException
- 如果流已关闭
-
markSupported
public boolean markSupported()告知此流是否支持 mark() 操作,它支持。- 覆盖:
-
markSupported
在类中Reader
- 返回:
- 如果此流支持 mark 操作,则返回 true。
-
mark
在流中标记当前位置。随后调用 reset() 将重新定位流到此点。- 覆盖:
-
mark
在类中Reader
- 参数:
-
readAheadLimit
- 可读取的字符数限制。因为流的输入来自字符串,所以没有实际限制,因此此参数不能为负数,但会被忽略。 - 抛出:
-
IllegalArgumentException
- 如果readAheadLimit < 0
-
IOException
- 如果发生 I/O 错误
-
reset
将流重置为最近的标记,如果从未标记过,则重置为字符串的开头。- 覆盖:
-
reset
在类中Reader
- 抛出:
-
IOException
- 如果发生 I/O 错误
-
close
public void close()关闭流并释放与其关联的任何系统资源。一旦流被关闭,进一步的 read()、ready()、mark() 或 reset() 调用将抛出 IOException。关闭先前关闭的流不会产生任何效果。在另一个线程阻塞在读取器上时,此方法将阻塞。
-