java.lang.Object
java.io.Reader
java.io.FilterReader
java.io.PushbackReader
- 所有已实现的接口:
-
Closeable
,AutoCloseable
,Readable
一个字符流读取器,允许将字符推回流中。
- 自 JDK 版本:
- 1.1
-
Field Summary
Fields declared in class java.io.FilterReader
in
-
Constructor Summary
ConstructorDescriptionPushbackReader
(Reader in) 创建一个具有一个字符推回缓冲区的新推回读取器。PushbackReader
(Reader in, int size) 创建一个具有给定大小推回缓冲区的新推回读取器。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
关闭流并释放与其关联的任何系统资源。void
mark
(int readAheadLimit) 标记流中的当前位置。boolean
告知此流是否支持 mark() 操作,它不支持。int
read()
读取单个字符。boolean
ready()
告知此流是否准备好进行读取。void
reset()
重置流。void
unread
(char[] cbuf) 通过将字符数组复制到推回缓冲区的前面,将字符数组推回。void
unread
(char[] cbuf, int off, int len) 通过将字符数组的一部分复制到推回缓冲区的前面,将字符数组的一部分推回。void
unread
(int c) 通过将单个字符复制到推回缓冲区的前面,将单个字符推回。Methods declared in class java.io.FilterReader
read, skip
Methods declared in class java.io.Reader
nullReader, read, read, transferTo
-
Constructor Details
-
PushbackReader
创建一个具有给定大小推回缓冲区的新推回读取器。- 参数:
-
in
- 将从中读取字符的读取器 -
size
- 推回缓冲区的大小 - 抛出:
-
IllegalArgumentException
- 如果size <= 0
-
PushbackReader
创建一个具有一个字符推回缓冲区的新推回读取器。- 参数:
-
in
- 将从中读取字符的读取器
-
-
Method Details
-
read
读取单个字符。- 覆盖:
-
read
在类FilterReader
中 - 返回:
- 读取的字符,如果已到达流的末尾则为 -1
- 抛出:
-
IOException
- 如果发生 I/O 错误
-
unread
通过将字符复制到推回缓冲区的前面,将单个字符推回。此方法返回后,要读取的下一个字符将具有值(char)c
。- 参数:
-
c
- 表示要推回的字符的 int 值 - 抛出:
-
IOException
- 如果推回缓冲区已满,或者发生其他 I/O 错误
-
unread
通过将字符数组的一部分复制到推回缓冲区的前面,将字符数组的一部分推回。此方法返回后,要读取的下一个字符将具有值cbuf[off]
,其后的字符将具有值cbuf[off+1]
,依此类推。- 参数:
-
cbuf
- 字符数组 -
off
- 要推回的第一个字符的偏移量 -
len
- 要推回的字符数 - 抛出:
-
IOException
- 如果推回缓冲区中空间不足,或者发生其他 I/O 错误
-
unread
通过将字符数组复制到推回缓冲区的前面,将字符数组推回。此方法返回后,要读取的下一个字符将具有值cbuf[0]
,其后的字符将具有值cbuf[1]
,依此类推。- 参数:
-
cbuf
- 要推回的字符数组 - 抛出:
-
IOException
- 如果推回缓冲区中空间不足,或者发生其他 I/O 错误
-
ready
告知此流是否准备好进行读取。- 覆盖:
-
ready
在类FilterReader
中 - 返回:
- 如果下一个 read() 调用不会阻塞以等待输入,则返回 true,否则返回 false。请注意,返回 false 不保证下一个 read 将阻塞。
- 抛出:
-
IOException
- 如果发生 I/O 错误
-
mark
标记流中的当前位置。PushbackReader 类的 mark 方法始终会抛出异常。- 覆盖:
-
mark
在类FilterReader
中 - 参数:
-
readAheadLimit
- 在保留标记的同时可以读取的字符数限制。读取此数量的字符后,尝试重置流可能会失败。 - 抛出:
-
IOException
- 始终会抛出,因为不支持 mark
-
reset
重置流。PushbackReader 类的 reset 方法始终会抛出异常。- 覆盖:
-
reset
在类FilterReader
中 - 抛出:
-
IOException
- 始终会抛出,因为不支持 reset
-
markSupported
public boolean markSupported()告知此流是否支持 mark() 操作,它不支持。- 覆盖:
-
markSupported
在类FilterReader
中 - 返回:
- 如果此流支持 mark 操作,则返回 true。
-
close
关闭流并释放与其关联的任何系统资源。一旦关闭流,进一步的 read()、unread()、ready() 或 skip() 调用将抛出 IOException。关闭先前关闭的流不会产生任何效果。在另一个线程阻塞在读取器上时,此方法将阻塞。- 指定者:
-
close
在接口AutoCloseable
中 - 指定者:
-
close
在接口Closeable
中 - 指定者:
-
close
在类Reader
中 - 抛出:
-
IOException
- 如果发生 I/O 错误
-