Java基础 FileReader——字符输入流之一、read()详解

发布时间 2023-10-23 20:55:38作者: 嘎嘎鸭2

FileReader:从纯文本文件中读取数据

 

FileReader 的使用步骤:

1. 创建字符输入流对象   →   public  FileReader (File  file)   或者   public  FileReader (String  pathname)

细节:如果文件不存在,就直接报错

 

2. 读取数据

public   int   read ()   →   读取数据,读到末尾返回 -1

public   int   read (char[]   buffer)   →   读取多个数据,读到末尾返回 -1

细节:①字符流的底层是字节流,空参的 read() 方法底层默认按照字节的方式读取,一次读取一个字节,当遇到中文才会一次读取多个字节(GBK一次读两个字节,UTF-8一次读三个字节)。读取后解码并转成十进制,最终把这个十进制整数作为返回值进行返回,而这个十进制的数据也表示字符集上的数字;

②有参的 read (char[]  buffer) 方法一次读多个,并放到 char 类型的数组当中,返回值同样表示读了多少个数据

 

3. 释放资源

public  int  close()

 

eg:

FileReader fr = new FileReader("E:\\Java基础资料\\a.txt");

while (true) {
int ch = fr.read();
if (ch == -1)
break;
System.out.print((char)ch);
}

fr.close();