zig*_*ggy 6 java io file-io file
我需要了解这两个类之间的区别以及它们如何相互协作.据我所知,FileReader一次从一个文件中读取字符,BufferedReader读取大量数据并将其存储在缓冲区中,从而使其更快.
为了使用BufferedReader,我必须提供一个FileReader.如果BufferedReader类以不同方式读取文件,它如何使用FileReader?这是否意味着BufferedReader使用FileReader,因此在幕后,字符仍然一次只能读取一个字符?我想我的问题是BufferedReader类如何使用FileReader类.
FileReader.read(char[] cbuf, int off, int len)如果您希望一次获得多个字符,BufferedReader将使用您也可以读取的方法.
BufferedReader使您可以更轻松地读取所需的大小并且仍然高效.如果您总是在读取大块,那么丢弃BufferedReader可能会稍微高效一些.
首先,BufferedReader取一个Reader,而不是一个FileReader(虽然后者被接受).
该Reader抽象类有几个read()方法.有一个read-one-character版本以及两个版本,它们将一个字符块读入一个数组.
只有BufferedReader在一次读取单个字符或小块时才使用它才有意义.
考虑以下两个请求:
char ch1 = fileReader.read();
char ch2 = bufferedReader.read()
Run Code Online (Sandbox Code Playgroud)
第一个将转到底层文件,而第二个将很可能从BufferedReader内部缓冲区满足.
| 归档时间: |
|
| 查看次数: |
2132 次 |
| 最近记录: |