首頁 >Java >Java入門 >java 流是什麼

java 流是什麼

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-11-14 09:19:064441瀏覽

java 流是什麼

一、概念

Java中對檔案的操作是以流的方式進行的。流是Java記憶體中的一組有序資料序列。 Java將資料從來源(檔案、記憶體、鍵盤、網路)讀入到記憶體中,形成了流,然後將這些流還可以寫到另外的目的地(檔案、記憶體、控制台、網路),之所以稱為流,是因為這個資料序列在不同時刻所操作的是來源的不同部分。

二、分類

流的分類,Java的流分類比較豐富,剛接觸的人看了後會覺得很暈。流分類的方式很多:

1、依照輸入的方向分,輸入流和輸出流,輸入輸出的參考物件是Java程式。

2、依照處理資料的單位不同分,位元組流和字元流,位元組流讀取的最小單位是一個位元組(1byte=8bit),而字元流一次可以讀取一個字符(1char = 2byte = 16bit)。

3、依照功能的不同分,分節點流和處理流,節點流是直接從一個源讀寫資料的流(這個流沒有經過包裝和修飾),處理流是在對節點流封裝的基礎上的一種流,FileInputStream是一個接點流,可以直接從文件讀取數據,但是BufferedInputStream可以包裝FileInputStream,使得其有緩衝功能。

其實除了以上三種分類外,還有一些常常聽到的一些分類例如:物件流、緩衝流、壓縮流、檔案流等等。其實都是節點流和處理流的子分類。當然你也可以創造新的流類型,只要你需要。

三、流分類的關係

不管流的分類是多麼的豐富和複雜,其根源來自於四個基本的類別。這個四個類別的關係如下:

位元組流字符流

輸入流InputStream Reader

輸出流OutputStream Writer

四、位元組流和字元流的相互轉換

1、從位元組流到字元流:InputStreamReader、OutputStreamWriter類別可以實作。

2、從字元流到位元組流:可以從字元流中取得char[]數組,轉換為String,然後呼叫String的API函數getBytes() 取得到byte[],然後就可以透過ByteArrayInputStream、ByteArrayOutputStream來實現到位元組流的轉換。

眾多java訓練影片,盡在PHP中文網,歡迎線上學習!

以上是java 流是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn