字节流与字符流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而已。

上一篇下一篇

猜你喜欢

热点阅读