流
這裏的流是指在計算機中數據傳輸的一個過程(或者數據流通的過程)被稱之爲流。
因爲計算機中數據傳輸是有方向性的,如,我把數據傳給你,你把數據傳給我。這裏的方向性需要有一個參照物。
如圖:
上圖解釋
參照物:我
- 輸出流
我把數據傳給你,對於我來說我是向外發送數據(輸出數據),所以我在發送數據之前,要在你與我之間創建一個通道,好讓我的數據可以發送給你,這時我把我創建的通道叫做“輸出數據流通管道”,簡稱爲輸出流。
- 輸入流
你把數據傳給我,對於我來說我是向裏接收數據(輸入數據),所以我在接收數據之前,要在你與我之間創建另一個通道,好讓我可以去接收到你發送過來的數據,這時我把我創建的通道叫做“輸入數據流通管道”,簡稱爲輸入流。
流是一個抽象概念,對數據的輸入輸出的抽象。就是用“流”這個詞,來形象的展示數據傳輸(流通)的過程。
在Java編程語言中,就有“流”這個概念,整體意思就是和我上面解釋的差不多。
下面解釋一下過程
1. 首先要根據我們想要做的事情,如,是做輸入操作,還是輸出操作。我們需要創建相應的“流”,輸入流或輸出流。這裏的輸入和輸出流是有幾個種類的(字節流、字符流等)。
2. 我們需要把一段文字,寫入到一個txt文本中。
3. 使用txt文本的路徑,名稱創建一個字節輸出流。
4. 在字節流中寫入一串文字。
5. 刷新字節流,將字節流裏的數據寫入到txt文件中。
6. 關閉字節流。
7. 關閉流,這一步很重要,創建的“流”,在不使用的時候,一定要將其關閉。否則這個通向內存的“流”的通道一直開着,內存在根據緩存級別,逐級上報,最終交給CPU處理,但是這個流程是個不被使用的,所以會佔用機器的開銷。