關於FileInputStream和FileOutputStream輸入流與輸出流問題二

前一陣子寫了篇博客是關於什麼是輸入流什麼是輸出流的文章。今天打開讀了一讀覺得寫得還是不夠清晰,所以今天我再寫一篇文章來補充一下上篇文章,順便做個筆記和大家共同學習進步。
這裏先把上篇文章的地址複製過來:關於FileInputStream和FileOutputStream輸入流與輸出流問題
上一篇文章中有這麼一段話

書上說
輸入流:只能從中讀取數據,不能向其寫入數據。
輸出流:只能向其寫入數據,不能從中讀取數據。

這句話,乍一看上去挺容易理解的,但是我們到後來再去看的時候又有一些迷糊了。
因爲字面上看的話,輸入流:不應該是往其中寫入數據的嗎?輸出流: 不應該是把數據輸出嗎?爲什麼書上說的和我們看到的字面的意思正好相反呢?

下面我舉一個聊天軟件的例子來說明一下輸入流和輸出流的概念

比方說我們現在用的是兩臺電腦上的兩個非常簡單的類似QQ的聊天軟件,爲了複雜問題簡單化就不多講連接方面的問題了。當兩臺電腦互相線上之後,那麼就開始聊天了。

聊天內容是通過什麼來傳輸的呢,就是我們學的IO流,現有兩個客戶端A和B,現在A–>B ,A向B發送了消息,那麼A主機中的流發送消息,所以是輸出流,B主機中的流接收消息所以是輸入流。這點弄明白的話就好辦了。
下面,既然A主機中是輸出流,那麼必然從A主機中輸出了一些信息給B,所以A主機中帶的輸出流必然承載了信息,那麼這些信息肯定是A給它的,所以,這個輸出流就是A向其中寫入數據,然後傳輸給B,這就是上面的那段話,輸出流:只能向其寫入數據,不能從中讀取數據

同理,B主機中的是來自A的流,對B來說就是輸入流,因爲是A發送來給B的,而這個輸入流中含有A發送的信息,B要讀取輸入流中的信息,所以,就是從輸入流中讀取輸信息,也應了前面那句話了。
輸入流:只能從中讀取數據,不能向其寫入數據。
這樣的話,大家對輸入流和輸出流的理解就能更加深刻了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章