首页 > 基础资料 博客日记
Java中的FilterReader类
2023-05-17 11:01:06基础资料围观362次
FilterReader是Java IO库中的一个字符流处理类,它是一个抽象类,用于实现其他字符流处理类的装饰器模式。与Reader类似,FilterReader也是一个读取字符流的抽象类,它可以将一个已有的字符输入流包装进来,在读取字符时进行过滤和操作,然后再返回给用户。
使用FilterReader能够轻松实现某些高级字符读取操作,比如缓冲区读取、字符集转换等等。常见的FilterReader子类如BufferedReader、LineNumberReader等。
FilterReader类中定义了以下抽象方法:
- public int read() throws IOException:读取单个字符。
- public int read(char[] cbuf, int off, int len) throws IOException:将字符读入数组。
- public long skip(long n) throws IOException:跳过字符流中的n个字符。
- public boolean ready() throws IOException:判断字符流是否准备好被读取。
- public boolean markSupported():判断该类是否支持mark和reset功能。
- public void mark(int readAheadLimit) throws IOException:标记当前位置。
- public void reset() throws IOException:重置到最近标记的位置。
- public void close() throws IOException:关闭字符流。
继承FilterReader类的子类需要实现其中的抽象方法,并重写一些方法来提供过滤的功能。在构造子类对象时需要传入一个已有的字符流。
标签: