FilterReader
java.lang.Object
|—java.io.Reader
|—|—java.io.FilterReader
public abstract class FilterReader
extends Reader
用于读取过滤字符流的抽象类。 抽象类 FilterReader 本身提供了将所有请求传递给包含的流的默认方法。 FilterReader 的子类应该覆盖其中的一些方法,并且还可以提供额外的方法和字段。
Since:
JDK1.1
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
protected Reader | in | 底层字符输入流。 |
从类 java.io.Reader 继承的字段 |
---|
lock |
构造函数摘要
修饰符 | 构造函数 | 描述 |
---|---|---|
protected | FilterReader(Reader in) | 创建一个新的过滤阅读器。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
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) | 跳过字符。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从类 java.io.Reader 继承的方法 |
---|
read, read |
字段详细信息
in
protected Reader in
底层字符输入流。
构造函数详细信息
FilterReader
protected FilterReader(Reader in)
创建一个新的过滤阅读器。
参数:
参数名称 | 参数描述 |
---|---|
in | 提供底层流的 Reader 对象。 |
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果 in 为空 |
方法详情
read
public int read() throws IOException
读取单个字符。
覆盖:
read in class Reader
返回:
读取的字符,为 0 到 65535 (0x00-0xffff) 范围内的整数,如果已到达流的末尾,则为 -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 n) throws IOException
跳过字符。
覆盖:
skip in class Reader
参数:
参数名称 | 参数描述 |
---|---|
n | 要跳过的字符数 |
返回:
实际跳过的字符数
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
ready
public boolean ready() throws IOException
告诉这个流是否准备好被读取。
覆盖:
ready in class Reader
返回:
如果保证下一个 read() 不会阻塞输入,则为 true,否则为 false。 请注意,返回 false 并不能保证下一次读取将阻塞。
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
markSupported
public boolean markSupported()
告知此流是否支持 mark() 操作。
覆盖:
markSupported in class Reader
返回:
当且仅当此流支持标记操作时才为 true。
mark
public void mark(int readAheadLimit) throws IOException
标记流中的当前位置。
覆盖:
mark in class Reader
参数:
参数名称 | 参数描述 |
---|---|
readAheadLimit | 在保留标记的同时限制可以读取的字符数。 读取这么多字符后,尝试重置流可能会失败。 |
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
reset
public void reset() throws IOException
重置流。
覆盖:
reset in class Reader
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |
close
public void close() throws IOException
从班级复制的描述:Reader
关闭流并释放与其关联的任何系统资源。 关闭流后,进一步的 read()、ready()、mark()、reset() 或 skip() 调用将引发 IOException。 关闭以前关闭的流没有效果。
指定者:
在接口 AutoCloseable 中关闭
指定者:
在接口Closeable中关闭
指定者:
close in class Reader
Throws:
Throw名称 | Throw描述 |
---|---|
IOException | 如果发生 I/O 错误 |