1. 程式人生 > >數據流和內存流

數據流和內存流

普通 數組 時間 java語言 tao 內存操作 同時 內存 數據流


在前面的學習中,我們知道數據流處理的數據都是指字節或字節數組,但實際上很多時候不是這樣的,它需要數據流能直接讀、寫各種各樣的java語言的基本數據類型。

DataInputStreamDataOutputStream提供了可以直接存取java基本類型(intdouble等)的方法。對於存取基本類型,在效率上比普通字節流要快很多。它們分別繼承inputStreamoutputStream,並且需要套接在InputStreamOutputStream上。

例如在一個文件中存放300個整數值,從中讀取時,希望按int為基本單位進行讀取,這樣可以大大節省時間。

這時就需要使用DataInputStream和DataOutputStream,DataInputStream和DataOutputStream不但支持父類InputStream和OutputStream中的方法,以原有方式讀寫數據,同時還允許通過數據流來讀寫java語言的基本數據類型,包括int、float、double和double等。

1,內存操作流的操作對象,一定是以內存為主準,不要以程序為準。

2,實際上此時可以通過向上轉型的關系,為OutputStreamInputStream.

3,內存輸出流在日後的開發中也是經常使用到,所以一定要重點掌握

輸入和輸出都是從文件中來的,當然,也可將輸出的位置設置在內存上,這就需要ByteArrayInputStream和ByteArrayOutputStream
ByteArrayInputStream:將內容寫入到內存中,
ByteArrayOutputStream:將內存中數據輸出
此時的操作應該以內存為操作點。
利用此類 完成一些功能。
常用方法
ByteArrayInputStream :是InputStream子類。
public class ByteArrayInputStream extends InputStream
構造方法:
ByteArrayInputStream(byte[] buf)
創建一個 ByteArrayInputStream,使用 buf 作為其緩沖區數組。
接收一個byte數組,實際上內存的輸入就是在構造方法上將數據傳遞到內存之中。
ByteArrayOutputStream:是OutputStream子類
輸出就是從內存中寫出數據。

數據流和內存流