天天看點

Java IO: 網絡

原文連結 作者: jakob jenkov 譯者: 李璟([email protected]) 校對:方騰飛

java中網絡的内容或多或少的超出了java io的範疇。關于java網絡更多的是在我的java網絡教程中探讨。但是既然網絡是一個常見的資料來源以及資料流目的地,并且因為你使用java io的api通過網絡連接配接進行通信,是以本文将簡要的涉及網絡應用。

當兩個程序之間建立了網絡連接配接之後,他們通信的方式如同操作檔案一樣:利用inputstream讀取資料,利用outputstream寫入資料。換句話來說,java網絡api用來在不同程序之間建立網絡連接配接,而java io則用來在建立了連接配接之後的程序之間交換資料。

基本上意味着如果你有一份能夠對檔案進行寫入某些資料的代碼,那麼這些資料也可以很容易地寫入到網絡連接配接中去。你所需要做的僅僅隻是在代碼中利用inputstream替代fileinputstream進行資料的寫入。因為fileinputstream是inputstream的子類,是以這麼做并沒有什麼問題。(譯者注:此處應該是outputstream和fileoutputstream)

實際上對于檔案的讀操作也類似,一個具有讀取檔案資料功能的元件,同樣可以輕松讀取網絡連接配接中的資料。隻需要保證讀取資料的元件是基于inputstream而非fileinputstream即可。

這是一份簡單的代碼示例:

在這個例子中,process()方法并不關心inputstream參數的輸入流,是來自于檔案還是網絡(例子隻展示了輸入流來自檔案的版本)。process()方法隻會對inputstream進行操作。