java – BufferedReader构造函数对FileReader的期望是什么

我需要了解这两个类之间的区别以及它们如何相互协作.据我所知,FileReader一次从一个文件中读取字符,BufferedReader读取大量数据并将其存储在缓冲区中,从而使其更快.

为了使用BufferedReader,我必须提供一个FileReader.如果BufferedReader类以不同方式读取文件,它如何使用FileReader?这是否意味着BufferedReader使用FileReader,因此在幕后,字符仍然一次只能读取一个字符?我想我的问题是BufferedReader类如何使用FileReader类.

解决方法

首先,BufferedReader采用Reader而不是FileReader(尽管后者被接受).

Reader抽象类有几个read()方法.有一个read-one-character版本以及两个版本,它们将一个字符块读入一个数组.

只有在一次读取单个字符或小块时才使用BufferedReader是有意义的.

考虑以下两个请求:

char ch1 = fileReader.read();
char ch2 = bufferedReader.read()

第一个将转到底层文件,而第二个将很可能从BufferedReader的内部缓冲区满足.

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...