2013-05-09 63 views
0

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

所以我的问题是,没有使用一个BufferedReader包装了的FileReader已经是最有效的(在速度方面)的方式在一个文件中读取字符?

编辑:一BufferedStreamReader的分配谈判,而不是一个的BufferedInputStream

+0

可能重复[什么是追加一个字符加载到存储器中的文件的最快/最有效的方法是什么?(http://stackoverflow.com/questions/10268654/what-is-the-quickest最有效的方式来追加一个字符到一个文件加载到) – wchargin 2013-05-09 17:44:53

回答

-1

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

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 

      } 
+0

所以,你建议用FileInputStream替换fileReader? – Anubis 2013-05-09 12:12:49

+0

这将是InputStreamReader。即使你有很多文件,这也可以工作。 – ErrorNotFoundException 2013-05-09 12:13:54

相关问题