PushbackReader
java.lang.Object
|—java.io.Reader
|—|—java.io.FilterReader
|—|—|—java.io.PushbackReader
public class PushbackReader
extends FilterReader
一个字符流阅读器,允许将字符推回流中。
Since:
JDK1.1
字段摘要
从类 java.io.FilterReader 继承的字段 |
---|
in |
从类 java.io.Reader 继承的字段 |
---|
lock |
构造函数总结
构造函数 | 描述 |
---|---|
PushbackReader(Reader in) | 创建一个具有单字符回送缓冲区的新回送阅读器。 |
PushbackReader(Reader in, int size) | 使用给定大小的回推缓冲区创建一个新的回推阅读器。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
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 n) | 跳过字符。 |
void | unread(char[] cbuf) | 通过将字符数组复制到推回缓冲区的前面来推回它。 |
void | unread(char[] cbuf, int off, int len) | 通过将字符数组的一部分复制到推回缓冲区的前面来推回它。 |
void | unread(int c) | 通过将单个字符复制到推回缓冲区的前面来推回单个字符。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从类 java.io.Reader 继承的方法 |
---|
read, read |
构造函数详细信息
PushbackReader
public PushbackReader(Reader in, int size)
使用给定大小的回推缓冲区创建一个新的回推阅读器。
参数:
参数名称 | 参数描述 |
---|---|
in | 从中读取字符的阅读器 |
size | 推回缓冲区的大小 |
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 size <= 0 |
PushbackReader
public PushbackReader(Reader in)
创建一个具有单字符回送缓冲区的新回送阅读器。
参数:
参数名称 | 参数描述 |
---|---|
in | 从中读取字符的阅读器 |
方法详情
read
public int read() throws IOException
读取单个字符。
覆盖:
在类 FilterReader 中读取
返回:
读取的字符,如果已到达流的末尾,则为 -1
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
read
public int read(char[] cbuf, int off, int len) throws IOException
将字符读入数组的一部分。
覆盖:
在类 FilterReader 中读取
参数:
参数名称 | 参数描述 |
---|---|
cbuf | 目标缓冲区 |
off | 开始写入字符的偏移量 |
len | 要读取的最大字符数 |
返回:
读取的字符数,如果已到达流的末尾,则为 -1
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
unread
public void unread(int c) throws IOException
通过将单个字符复制到推回缓冲区的前面来推回单个字符。 此方法返回后,下一个要读取的字符将具有值 (char)c。
参数:
参数名称 | 参数描述 |
---|---|
c | 表示要推回的字符的 int 值 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果推回缓冲区已满,或者发生其他 I/O 错误 |
unread
public void unread(char[] cbuf, int off, int len) throws IOException
通过将字符数组的一部分复制到推回缓冲区的前面来推回它。 此方法返回后,下一个要读取的字符将具有值 cbuf[off],之后的字符将具有值 cbuf[off+1],依此类推。
参数:
参数名称 | 参数描述 |
---|---|
cbuf | 字符数组 |
off | 要推回的第一个字符的偏移量 |
len | 要推回的字符数 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果推回缓冲区中没有足够的空间,或者发生其他一些 I/O 错误 |
unread
public void unread(char[] cbuf) throws IOException
通过将字符数组复制到推回缓冲区的前面来推回它。 此方法返回后,要读取的下一个字符将具有值 cbuf[0],之后的字符将具有值 cbuf[1],依此类推。
参数:
参数名称 | 参数描述 |
---|---|
cbuf | 要推回的字符数组 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果推回缓冲区中没有足够的空间,或者发生其他一些 I/O 错误 |
ready
public boolean ready() throws IOException
告诉这个流是否准备好被读取。
覆盖:
在类 FilterReader 中准备好
返回:
如果保证下一个 read() 不会阻塞输入,则为 true,否则为 false。 请注意,返回 false 并不能保证下一次读取将阻塞。
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
mark
public void mark(int readAheadLimit) throws IOException
标记流中的当前位置。 PushbackReader 类的标记总是抛出异常。
覆盖:
在类 FilterReader 中标记
参数:
参数名称 | 参数描述 |
---|---|
readAheadLimit | 在保留标记的同时限制可以读取的字符数。 读取这么多字符后,尝试重置流可能会失败。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 总是,因为不支持标记 |
reset
public void reset() throws IOException
重置流。 PushbackReader 的 reset 方法总是抛出异常。
覆盖:
在类 FilterReader 中重置
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 总是,因为不支持重置 |
markSupported
public boolean markSupported()
告知此流是否支持 mark() 操作,但它不支持。
覆盖:
类 FilterReader 中的 markSupported
返回:
当且仅当此流支持标记操作时才为 true。
close
public void close() throws IOException
关闭流并释放与其关联的任何系统资源。 流关闭后,进一步的 read()、unread()、ready() 或 skip() 调用将引发 IOException。 关闭以前关闭的流没有效果。
指定者:
在接口 AutoCloseable 中关闭
指定者:
在接口Closeable中关闭
覆盖:
在类 FilterReader 中关闭
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
skip
public long skip(long n) throws IOException
跳过字符。 此方法将阻塞,直到某些字符可用、发生 I/O 错误或到达流的末尾。
覆盖:
跳过类 FilterReader
参数:
参数名称 | 参数描述 |
---|---|
n | 要跳过的字符数 |
返回:
实际跳过的字符数
Throws:
Throw名称 | Throw模式 |
---|---|
IllegalArgumentException | 如果 n 为负数。 |
IOException | 如果发生 I/O 错误 |