从文件中读取字符的最有效方法?

时间:2013-05-09 11:39:34

标签: java performance file bufferedreader bufferedinputstream

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

所以我的问题是,是不是使用BufferedReader包装器为FileReader提供了最有效(在速度方面)读取文件中字符的方法?

编辑:BufferedStreamReader的赋值说明,而不是BufferedInputStream

2 个答案:

答案 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)

ReaderInputStream读取字符。因此,最好缓冲实际的文件系统访问权限,这里是BufferedInputStream,因为这可能很慢。