JAVA基础知识之FileReader流

一、FileReader流解释

    API文档说明:FileReader流是用于读取字符文件的便捷类。此类的构造函数假定默认字符编码和默认字节缓冲区大小是合适的。如果要自己指定这些值,那么需要通过FileInputStream流对象来构造InputStreamReader流对象即可

    FileReader类继承InputStreamReader类

public class FileReader extends InputStreamReader{}

 1)构造函数假定默认字符编码和默认字节缓冲区大小怎么理解?

        说明该类构造函数中会设置默认的字符集和一个int值用于表示字节缓冲区长度

2)若要自己指定值,需要自己构造InputStreamReader流怎么理解?

       可以通过父类的构造方法来设置字符集

3)读取字符文件怎么理解?

      如我们的txt文件中会有中文汉字等字符存在,这些字符不同字符集处理会是不同字节,所以如果利用字节流进行读取会产生错误和不便,因此要利用此类字符类来专门读取字符文件

二、FileReader类构造方法

1)根据给定的文件路径来创建FileReader流对象:本质为利用文件路径创建File对象后构建FileInputStream流对象后调用父类构造方法

 public FileReader(String fileName) throws FileNotFoundException {
        super(new FileInputStream(fileName));
    }

2)根据给定的文件对象创建FileReader流对象:本质为利用File对象后构建FileInputStream流对象后调用父类构造方法


 public FileReader(File file) throws FileNotFoundException {
        super(new FileInputStream(file));
    }

 3)上述两个构造方法本质并无区别,都是调用父类构造,因此需要深究那么需要研究父类方法,另外其还有另一个构造方法,暂时不考虑理解

扫描二维码关注公众号,回复: 2277980 查看本文章

三、FileReader类API

通过对源码分析, FileReader类中只有3个构造函数,且构造函数中都是调用的父类构造,因此我们需要研究其父类InputStreamReader类

猜你喜欢

转载自blog.csdn.net/ai_bao_zi/article/details/81132776