緩衝位元組高階流 BIS和BOS

2021-08-14 20:09:16 字數 991 閱讀 2936

對傳入的流進行處理加工,可以巢狀使用。

1)bufferedinputstream:緩衝位元組輸入流 

1.1)構造方法: bufferedinputstream(inputstream in)

bufferedinputstream(inputstream in, int size)

1.2)常用方法:           

int read():從輸入流中讀取乙個位元組。

int read(byte b,int offset,int length):從此位元組輸入流中給定偏移量offset處

2)bufferedoutputstream:緩衝位元組輸出流

1.1)構造方法:bufferedoutputstream(outputstream out)

bufferedoutputstream(outputstream out, int size)

1.2)常用方法:          

void write(int d):將指定的位元組寫入此緩衝的輸出流。 

void write(byte d,int offset,int length):

將指定 byte陣列中從偏移量 offset開始的 length個位元組寫入此緩衝的輸出流。

void flush():將緩衝區中的資料一次性寫出,「清空」緩衝區。

3)內部維護著乙個緩衝區,每次都盡可能的讀取更多的位元組放入到緩衝區,

再將緩衝區中的內容部分或全部返回給使用者,因此可以提高讀寫效率。

3.1)辨別高階流的簡單方法:看構造方法,若構造方法要求傳入另乙個流,那麼這個流就是高階流。所以高階流是沒有空引數的構造器的,都需要傳入乙個流。

3.2)有緩衝效果的流,一般為寫入操作的流,在資料都寫完後一定要flush,flush的作用是將緩衝區中未寫出的資料一次性寫出:bos.flush();即不論快取區有多少資料,先寫過去,緩衝區再下班~確保所有字元都寫出

3.3)使用jdk的話,通常情況下,我們只需要關閉最外層的流。第三方流可能需要一層一層關。

位元組流 字元流 位元組緩衝流 字元緩衝流

位元組讀流 fileinputstream fis new fileinputstream file byte b new byte 1024 int len 0 while len fis.read b 1 字元讀流 filereader fr new filereader file char c...

IO流 位元組緩衝流,字元緩衝流

處理流 裝飾流 位元組緩衝流,字元緩衝流 用於提高位元組流的效能 bufferedinputstream,bufferedoutputstream 位元組緩衝流 bufferedinputstream is newbufferedinputstream new fileinputstream fil...

java IO 位元組緩衝流

classname 位元組快取流 為了解決在寫入檔案操作時,頻繁的操作檔案所帶來的效能降低的問題 bufferedoutputstream 內部預設的快取大小時8kb,每次寫入時儲存到的快取中的byte陣列中,當陣列存滿 時,會把陣列中的資料寫入檔案,並且快取下標歸零 description tod...