字符输入流_Reader类&FileReader类介绍和字符输入流读取字符数据
字符输入流_Reader类&FileReader类介绍
java.io.Reader:用于读取字符流的抽象类。 子类必须实现的唯一方法是read(char [],int,int)和close()。 然而,大多数子类将覆盖这里定义的一些方法,以便提供更高的效率,附加的功能或两者。
构造方法:
protected |
Reader()
创建一个新的字符流阅读器,其关键部分将在阅读器本身上同步。
|
protected |
Reader(Object lock)
创建一个新的字符流阅读器,其关键部分将在给定对象上同步。
|
定义所有子类共性的方法:
abstract void |
close()
关闭流并释放与之相关联的任何系统资源。
|
void |
mark(int readAheadLimit)
标记流中的当前位置。
|
boolean |
markSupported()
告诉这个流是否支持mark()操作。
|
int |
read()
读一个字符
|
int |
read(char[] cbuf)
将字符读入数组。
|
abstract int |
read(char[] cbuf, int off, int len)
将字符读入数组的一部分。
|
int |
read(CharBuffer target)
尝试将字符读入指定的字符缓冲区。
|
boolean |
ready()
告诉这个流是否准备好被读取。
|
void |
reset()
重置流。
|
long |
skip(long n)
跳过字符
|
字符输入流读取字符数据
字符输入流使用步骤:
1.创建FileReader对象,构造方法中绑定要读取的数据源
2.使用FileReader对象中的方法read读取文件
3.释放资源
public class Demo05OutputStream { public static void main(String[] args) throws IOException, InterruptedException { FileReader fileReader = new FileReader("a.txt"); char[] c = new char[1024]; int len; /* String(char[] value):分配一个新的 String ,以便它表示当前包含在字符数组参数中的字符序列。 String(char[] value, int offset, int count):分配一个新的 String ,其中包含字符数组参数的子阵列中的字符 */ while ((len=fileReader.read(c))!= -1){ System.out.println(new String(c,0,len)); } fileReader.close(); } }
运行结果:


浙公网安备 33010602011771号