字符输入流_Reader类&FileReader类介绍和字符输入读取字符数据
java.io.Reader:字符输入流的最顶层父类,其中定义了一些共性的成员方法,是一个抽象类
共性的成员方法
int read() 读取单个字符并返回
int read(char[] cbuf) 将字符读入数组,一次读取多个字符
abstract void close() 关闭该流并释放与之关联的所有资源
Reader的子类 因为抽象类不能直接创建对象需要子类
java.io.FileReader extends InputStreamReader extends Reader
FileReader:文件字符输入流
作用:把硬盘文件中的数据以字符的方式读取到内存中
构造方法: FileReader(String fileName)
FileReader(File file)
参数:读取文件的数据源
String fileName :文件的路径
File file :文件
FileReader构造方法的作用
1.创建一个FileReader对象
2.会把FileReader对象指向要读取的文件
字符输入读取字符数据
public static void main(String[] args) throws IOException { //1.创建FileReader对象,构造方法中绑定要读取的数据源 FileReader fr = new FileReader("day09_IOAndProperties\\b.txt"); //2.使用FileReader对象中的方法read读取文件 /*int read = 0; while((read = fr.read()) != -1){ System.out.print((char) read); }*/ //int read(char[] cbuf)一次读取多个字符,将字符读入数组 char[] cs = new char[1024]; int len = 0;//记录的是每次读取的有效的字符个数 while((len = fr.read(cs))!=-1){ /* String类的构造方法 String(char[] value) 把字符数组转换为字符串 String(char[] value,intoffset,int count) 把字符数组的一部分转换为字符串,offset数组的开始索引,count转换的个数 */ System.out.println(new String(cs,0,len)); } // 3.释放资源 fr.close(); }