我想知道BufferedReader
的具体区别和 FileReader
.
我知道BufferedReader
与 FileReader
相比效率更高,但有人可以解释为什么(具体和详细)?谢谢。
最佳答案
以简单的方式:
FileReader 类是从文件中读取字符的通用工具。 BufferedReader 类可以像 FileReader 一样包裹 Readers 来缓冲输入并提高效率。因此,您不会使用一个而不是另一个,而是通过将 FileReader 对象传递给 BufferedReader 构造函数来同时使用两者。
非常详细
FileReader 用于从磁盘文件输入字符数据。输入文件可以是普通的 ASCII,每个字符一个字节的文本文件。 Reader 流自动将字符从磁盘文件格式转换为内部字符格式。输入文件中的字符可能来自 UTF 格式支持的其他字母表,在这种情况下,每个字符最多三个字节。在这种情况下,文件中的字符也被转换为字符格式。
与输出一样,使用缓冲区来提高效率是一种很好的做法。为此使用 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/