字节流与字符流5(Reader)
2019-01-29 本文已影响0人
秋笙fine
Reader是进行字符数据读取的输入流,其本身也是一个抽象类。
public abstract class Reader
extends Object
implements Readable, Closeable
在Reader类里面也提供有一系列的read()方法
读取内容到字符数组:
public int read(char[] cbuf)
throws IOException
返回值:表示读取的数据长度,如果读取到结尾,返回-1
Reader类实例化可以使用FileReader子类完成。
范例:使用Reader读取数据
package TestDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Reader;
import java.io.Writer;
public class TestDemo{
public static void main(String[] args) throws Exception{
//1.定义要输出的文件目录
File file=new File("e:"+File.separator+"demo"+File.separator+"my.txt");
if(file.exists()){
//2.为Reader类进行实例化
Reader in=new FileReader(file);
//3.进行数据读取
char data[]=new char[1024];
int len=in.read(data);//将数据读取到字符数组中
//4.关闭输入流
in.close();
System.out.println(new String(data,0,len));
}
}
}
与字节输入流相比结构几乎是一样的,只是数据类型由byte更换为char而已。