Java緩衝輸出位元組流BufferedOutputStream

華謹舞發表於2020-11-19

緩衝:緩和衝擊,記憶體中預留了一部分空間,這些空間用來緩衝輸入或輸出的資料,叫做緩衝區。
使用緩衝區可以提高程式讀寫效率,因為資料讀寫速度和處理速度不平衡,讀寫速度很慢,如果太多次讀寫資料,會浪費大量的時間。

BufferedOutputStream會將寫入外界裝置的資料先放到緩衝區中,當緩衝區滿時寫入到外界裝置(磁碟等),並清空緩衝區,減少IO操作,也可以呼叫flush()方法將緩衝區的資料強制寫入到外界裝置,並清空緩衝區。

預設緩衝區大小是8K。

public BufferedOutputStream(OutputStream out) {
        this(out, 8192);
    }
常用方法描述
BufferedOutputStream(OutputStream out)構造方法,傳入OutputStream物件,預設緩衝區大小
BufferedOutputStream(OutputStream out, int size)構造方法,傳入OutputStream物件,緩衝區大小設定為size
void write(int b)將碼值b代表的字元寫入到緩衝區,如果緩衝區滿,將緩衝區內的資料寫入到外界裝置(磁碟等)
void write(byte b[], int off, int len)將b[off]到b[off+len-1]的資料寫入到緩衝區,如果緩衝區滿,將緩衝區內的資料寫入到外界裝置(磁碟等)
void write(byte b[])父類FilterOutputStream方法,將b陣列中的資料寫入到緩衝區,如果緩衝區滿,將緩衝區內的資料寫入到外界裝置(磁碟等)
void flush()將緩衝區的資料強制寫入到外界裝置(磁碟等),清空緩衝區
void close()父類FilterOutputStream方法,關閉流,釋放相關資源,並呼叫flush()方法

基類:OutputStream
常見IO流InputStream、Reader、Writer

相關文章