各位小伙伴们大家好,在之前的文章中,小编介绍了Java之文件复制的简单介绍,多是一些关于字节的知识,这次小编要介绍的是字符输入流Reader类,具体如下:
java.io.Reader:字符输入流,是字符输入流的最顶层的父类,定义了一些共性的成员方法,是一个抽象类
共性成员方法:
int read()读取当个字节并返回。
int read(char[] cbuf)一次读取多个字节,将字节符读入数组
void close()关闭该流并释放与之关联的所有资源
java.io.Reader是一个抽象类,无法直接使用,可以使用该类的子类,如BufferedReader,CharArrayReader,FileReader,InputStreamReader,PipedReader,StringReader。
我们先来讲FileReader,java.io.FileReaderextends InputStreamReader extends Reader
FileReader:文件字符输入流
作用:把硬盘文件中的数据以字符的方式读取到内存中
构造方法:
FileReader(String fileName)
FileReader(File file)
参数:读取文字的数据源
String fileName:文件的路径
File file:一个文件
FileReader构造方法的作用:
会创建一个FileReader对象2.会把FileReader对象指向要读取的文件
代码如下:
public class Demo02Reader {
public static void main(String args[]) throws Exception {
//1.创建FileReader对象,构造方法中绑定要读取的数据源
FileReader fr=new FileReader("D:\\a.txt");
//2.使用int read(char[] cbuf)一次读取多个字符,将字符读入数组
//int read()读取单个字符并返回
char[] cs=new char[1024];
int len=0;
while((len=fr.read(cs))!=-1) {
/*String类的构造方法:
String(char[] value)把字符数组转换为字符串
String(char[] value,int offset,int count)把字符数组的一部分转换为字符串
offset数组的开始索引 count转换的个数*/
System.out.println(new String(cs,0,len));
}
//3.释放资源
fr.close();
}
}
关于这篇文章,小编就先说到这里了,其实和字节输入流Java之字节输入流一次读取一个字节与多个字节的使用差不多,原理也是一样的。不同的是字节输入流读取的是字节,字符输入流读取的是字符。希望这篇文章可以帮到大家,也欢迎各位小伙伴们补充和纠错。