2013-05-09 66 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

相關問題