更新時間:2020-05-28 15:01:39 來源:動力節點 瀏覽2542次
1.流的概念
流是對數據傳輸的總稱或抽象,流的本質是數據傳輸,是數據的有序排列,根據數據傳輸特性將流抽象為各種類,方便更直觀的進行數據操作
在C++中,我們將數據從一個對象到另一個對象的流動抽象為"流"。Java繼承C++的流機制,不過在具體實現上有別,Java中的"流"就是指把數據從一個對象移動到另一個對象的流動模式的抽象。(專業術語就是拿來裝逼的)
James Gosling的Java流模式圖與水流模式圖概念映射。數據源(data source)即水庫,數據目的地(data destination)就是臉盆,數據(data)就是水,流(stream)實例化就是在管子中流動的水流。輸入流(input stream)就是用水泵從水庫中抽出來要到水管中的水,輸出流(output stream)經過水龍頭將要達到臉盆中的水,計算機內存(memory)就是上圖中的水流管道,關閉輸入流(close input stream)就是關閉水泵開關,關閉輸出流(close output stream)就是關閉關閉水龍頭開關.
2.IO流的分類
根據處理數據類型的不同分為:字符流和字節流的區別
根據數據流向不同分為:輸入流和輸出流
根據流的功能來分:節點流(又稱低級流)、過濾流(又稱高級流、處理流、包裝流)
3.字符流和字節流的區別
讀寫單位不同:字節流以字節(8bit)為單位,字符流以字符為單位,根據碼表映射字符,一次可能讀多個字節,在Java流的處理上,字符流處理的單元為2個字節的Unicode字符,分別操作字符、字符數組或字符串,而字節流處理單元為1個字節,操作字節和字節數組
處理對象不同:字節流能處理所有類型的數據(如圖片、avi等),而字符流只能處理字符類型的數據
字節流默認是不帶緩沖區的,而字符流默認是帶緩沖區的
字節流是底層數據流,是數據有意義的最小單位。字符流是字節流的包裝,底層實現是字節流
以上就是動力節點java培訓機構的小編針對“Java基礎知識分享,io流詳解介紹”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習