0

在练习 Java 中的文件 I/O 时,我遇到了一个任务,我必须重写一个方法来查找与给定记录 ID 关联的记录数据。现在,我正在谈论的方法是使用包裹在 BufferedReader 中的 FileReader 来读取字符。奇怪的是,分配本身表明使用 BufferedStreamReader(?) 可能不是从文件中检索字符的最有效方法。考虑到该方法包含 BufferedReader 而不是 BufferedStreamReader,我发现这更加令人困惑。

所以我的问题是,对于 FileReader 使用 BufferedReader 包装器是否已经是读取文件中字符的最有效(就速度而言)方法?

编辑:分配讨论 BufferedStreamReader,而不是 BufferedInputStream

4

2 回答 2

0

我没有遇到过 BufferedStreamReader 但是会先使用 BufferedReader 将字符读取到字符串中,然后再逐个字符地读取,如果这就是您所说的。

            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

            }
于 2013-05-09T12:03:34.793 回答
-1

AReader从 中读取字符InputStream。因此,最好缓冲实际的文件系统访问,这里是BufferedInputStream,因为这可能会很慢。

于 2013-05-09T11:43:17.270 回答