其實本質仍是緩衝二字
他們內部都有一個緩衝區,就是一個字符數組
BufferedReader 會盡量多的將數據讀取到本身的緩衝區,而後提供的read方法從緩衝區讀取
BufferedWriter 會先將數據寫入到本身的內部緩衝區,從而寫入的效率將會大大提高,而後批量的將數據實際寫入
|
BufferedReader BufferedWriter 也是裝飾器模式 不過他是簡化版的裝飾器模式 沒有抽象的裝飾器角色 BufferedReader 和 BufferedWriter 既充當了抽象的裝飾器角色,又充當了裝飾器實體角色 從下面的聲明以及內部變量能看出來一點端倪(不是說 是你還有你 就必定是裝飾器,仍是要根據下面的業務邏輯的) 是你還有你 並且,他的確是裝飾器模式,下面會簡單介紹 |
關鍵成員變量 |
首先: BufferedReader 須要 Reader 做爲參數 BufferedWriter 須要 Writer 做爲參數 其次: 可選的設置緩衝區的大小,不設置則使用默認值
因此, BufferedReader 和 BufferedWriter 各有兩個構造方法
|
支持標記 |
markSupported 返回true
mark
reset
|
String readLine() 讀取一個文本行 經過下列字符之一便可認爲某行已終止:換行 ('\n')、回車 ('\r') 或回車後直接跟着換行 |
BufferedReader也例行提供了
skip
ready
close
|
write |
void write(char[] cbuf, int off, int len)
寫入字符數組的某一部分
void write(int c)
寫入單個字符。
void write(String s, int off, int len)
寫入字符串的某一部分
|
public void newLine()
throws IOException
寫入一個行分隔符 行分隔符字符串由系統屬性 line.separator 定義,而且不必定是單個新行 ('\n') 符 |