一、概念
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。