[十七]JavaIO之CharArrayReader 和 CharArrayWriter
阿新 • • 發佈:2018-12-27
功能簡介
CharArrayReader 和 CharArrayWriter, 字元陣列作為資料來源的字元讀寫 CharArrayReader CharArrayWriter 只需要記住他們的根本, CharArray 是資料來源的形式 讀 CharArrayReader 需要接受一個字元陣列作為引數 就是從CharArray 中讀,所以需要一個字元陣列 寫 CharArrayWriter 就是寫入到一個CharArray 中去,所以 它內部維護了一個字元陣列 |
顯然, 字元陣列都是記憶體中的資料 |
CharArrayReader
要始終記著Reader的常規約定方法read | 讀取一個字元或者讀取字元到陣列 |
mark reset markSupported | 標記點相關 |
ready | 類似available true 則保證不會阻塞,false則不保證一定阻塞 |
close | 關閉流 |
構造方法
構造方法的本質就是 CharArrayReader的原理 從一個字元陣列中讀取資料,這個字元陣列通過構造方法傳入 注意: 位元組陣列不是複製而來的,引用直接指向 |
使用char buf[] 作為資料來源 | |
使用char buf[]中, off偏移量開始, length長度個字元 作為資料來源 |
read
提供了兩個版本的read 讀一個字元 或者讀取字元 到指定的字元陣列中的指定位置 |
標記功能
CharArray作為資料來源,本身就是記憶體中的資料 所以只需要標誌點,可以隨意切換 自然支援標記功能 |
close
close方法沒有太多實際的事情要做 只是緩衝區置空 |
CharArrayWriter
writer的常規約定write | 將指定的的字元 字元序列 String ,寫入 |
append | 追加指定的內容 |
flush
| 重新整理 |
close | 關閉 |
構造方法
write方法
提供了三個版本的write 將指定內容寫入輸出流緩衝區 |
public void write(int c) | 將一個字元寫入內部緩衝區 |
public void write(char c[], int off, int len) | 將指定的len個字元寫入內部緩衝區 |
public void write(String str, int off, int len) | 將字串的某一部分寫入內部緩衝區 |
writeTo將緩衝區內的內容寫入到另外的字元流 過程很簡單,直接呼叫引數out的write方法 |
flush 和close
flush 和close在字元輸出流中並沒有什麼好做的 |