java - bufferedreader 和 filereader 的具体区别

标签 java bufferedreader filereader

我想知道BufferedReader的具体区别和 FileReader .

我知道BufferedReaderFileReader 相比效率更高,但有人可以解释为什么(具体和详细)?谢谢。

最佳答案

以简单的方式:

FileReader 类是从文件中读取字符的通用工具。 BufferedReader 类可以像 FileReader 一样包裹 Readers 来缓冲输入并提高效率。因此,您不会使用一个而不是另一个,而是通过将 FileReader 对象传递给 BufferedReader 构造函数来同时使用两者。

非常详细

FileReader 用于从磁盘文件输入字符数据。输入文件可以是普通的 ASCII,每个字符一个字节的文本文件。 Reader 流自动将字符从磁盘文件格式转换为内部字符格式。输入文件中的字符可能来自 UTF 格式支持的其他字母表,在这种情况下,每个字符最多三个字节。在这种情况下,文件中的字符也被转换为字符格式。

enter image description here

与输出一样,使用缓冲区来提高效率是一种很好的做法。为此使用 BufferedReader。这是我们一直用于键盘输入的同一个类。这些行应该看起来很熟悉:

BufferedReader stdin =
    new BufferedReader(new InputStreamReader( System.in ));

这些行创建了一个 BufferedReader,但将它连接到来自键盘的输入流,而不是连接到文件。

来源:http://www.oopweb.com/Java/Documents/JavaNotes/Volume/chap84/ch84_3.html

关于java - bufferedreader 和 filereader 的具体区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648811/

相关文章:

java - Java HashMap 内部数据结构在重新散列过程中如何变化?

java - 为什么这个 NumberFormatException?

java - 在java中打印任意长度的用户输入姓名的首字母和全名

java - Socket通信BufferedReader

java - 读取凭证文件的有效方法

iphone - 使用 Phonegap 和 Javascript 在运行时读取应用程序包中的文件

javascript - filereader 文件格式无法识别 json 和 geojson

Java 变量基础

java - iText PdfStamper 增加签名 pdf 的大小

java - 当 BufferedReader.read(char[]) 返回 -1 时?