package A10_IOStream;
import java.awt.datatransfer.StringSelection;
import java.io.IOException;
import java.io.FileReader;
/*
java.io.Reader:字符输入流,字符输入流的顶层抽象父类
共性方法
int read() 读取单个字符并返回
int read(char[] cbuf) 一次读取多个字符,将字符读入数组
void close() 关闭该流并释放预支关联的所有资源
java.io.FileReader:文件字符输入流,继承自InputStreamReader继承自Reader
作用:
把硬盘文件的数据以字符的方式读取到内存中
构造方法:
FileReader(String fileName) 根据指定文件构建
FileReader(File file) 根据一个File对象构建
构造方法的作用:
创建一个FileReader对象,把FileReader对象指向要读取的文件
*/
public class D04_FileReader {
public static void main(String[] args) throws IOException {
//单个字符读取
FileReader fr = new FileReader("test.txt");
int len=0;
while ((len=fr.read())!=-1){
System.out.print((char)len);
}
System.out.println(""); //输出一个空行便于区分下面的结果
fr.close();
//多个字符读取
FileReader fr2=new FileReader("test.txt");
char[] buff=new char[1024];
len=0;
while ((len=fr2.read(buff))!=-1){
System.out.print(new String(buff,0,len)); //使用String的构造函数 String(char[] c)
}
fr2.close();
}
}