BufferedReader類和BufferedWriter類學習筆記

 一、BufferedReader

1、java.lang.Object
  java.io.Reader
      java.io.BufferedReader

2、public class BufferedReader extends Reader

從字符輸入流中讀取文本,緩衝各個字符,從而提供字符、數組和行的高效讀取。

可以指定緩衝區的大小,或者可使用默認的大小。大多數情況下,默認值就足夠大了。

通常,Reader 所作的每個讀取請求都會導致對基礎字符或字節流進行相應的讀取請求。因此,建議用 BufferedReader 包裝所有其 read() 操作可能開銷很高的 Reader(如 FileReader 和 InputStreamReader)。例如,

 BufferedReader in   = new BufferedReader(new FileReader("foo.in"));

 BufferedReader in   = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

將緩衝指定文件的輸入。如果沒有緩衝,則每次調用 read() 或 readLine() 都會導致從文件中讀取字節,並將其轉換爲字符後返回,而這是極其低效的。

3、構造方法

BufferedReader(Reader in)
          創建一個使用默認大小輸入緩衝區的緩衝字符輸入流。

BufferedReader(Reader in, int sz)
          創建一個使用指定大小輸入緩衝區的緩衝字符輸入流。

4、常用方法

(1)public String readLine()  throws IOException

讀取一個文本行。通過下列字符之一即可認爲某行已終止:換行 ('/n')、回車 ('/r') 或回車後直接跟着換行。

返回: 包含該行內容的字符串,不包含任何行終止符,如果已到達流末尾,則返回 null

拋出: IOException - 如果發生 I/O 錯誤

(2)public boolean ready()  throws IOException

判斷此流是否已準備好被讀取。如果緩衝區不爲空,或者基礎字符流已準備就緒,則緩衝的字符流準備就緒。

覆蓋:Reader 中的 ready

返回: 如果保證下一個 read() 不阻塞輸入,則返回 True,否則返回 false。注意,返回 false 並不保證阻塞下一次讀取。

拋出: IOException - 如果發生 I/O 錯誤

(3)public void reset()  throws IOException

將流重置爲最新的標記。

(4)public void close()  throws IOException

關閉該流。

指定者: 接口 Closeable 中的 close

指定者:Reader 中的 close

拋出: IOException - 如果發生 I/O 錯誤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章