构造方法
|
说明
|
public FileReader(File file)
|
创建字符输入流关联本地文件
|
public FileReader(String pathname)
|
创建字符输入流关联本地文件
|
FileReader fr = new FileReader("myio\\a.txt");
int ch;
while ((ch = fr.read()) != -1) {
System.out.print(char(ch));
fr.close();
有参read方法细节
读取数据,解码,强转三步合并,把强转之后的字符放到数组当中
空参的read方法 + 强制类型转换
FileReader fr = new FileReader("myio\\a.txt");
char[] chars = new char[2];
int len;
while ((len = fr.read(chars)) != -1) {
System.out.print(new String(chars, 0, len));
fr.close();
创建字符输入流对象
关联文件,并创建缓冲区(长度为8192的字节数组)
好处:减少了频繁到硬盘中读取数据的过程,提高效率
字节流没有缓冲区
判断缓冲区中是否有数据可以读取
缓冲区没有数据
就从文件中获取数据,转到缓冲区中,每次尽可能装满缓冲区
如果文件中也没有数据了,返回-1
缓冲区有数据
就从缓冲区中读取
空参的read方法:一次读取一个字节,遇到中文一次读多个字节,把字节解码并转成十进制返回
有参的read方法:把读取字节,解码,强转三步合并了,强转之后的字符放到数组中