在Java中练习文件I / O时,我遇到了一个任务,我必须重写一个查找记录数据与给定记录ID相关联的方法。现在,我正在谈论的方法是使用包装在BufferedReader中的FileReader来读取字符。 奇怪的是,赋值本身表明使用BufferedStreamReader(?)可能不是从文件中检索字符的最有效方法。考虑到该方法包含BufferedReader而不是BufferedStreamReader,我发现这更令人困惑。
所以我的问题是,是不是使用BufferedReader包装器为FileReader提供了最有效(在速度方面)读取文件中字符的方法?
编辑:BufferedStreamReader的赋值说明,而不是BufferedInputStream
答案 0 :(得分:0)
我没有遇到过BufferedStreamReader但是如果你正在谈论的话,那么会读取使用BufferedReader First Into String然后是Character By字符的字符。
FileInputStream fs = new FileInputStream(filename);
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
for (int j = 0; j < 0; j++) {//The the first Line
String str = br.readLine().trim();
char[] chars = str.toCharArray();
String first = String.valueOf(chars[0]);//The first character
String second = String.valueOf(chars[1]);//The second
}
答案 1 :(得分:-1)
Reader
从InputStream
读取字符。因此,最好缓冲实际的文件系统访问权限,这里是BufferedInputStream
,因为这可能很慢。