702
阿裏雲
技術社區[雲棲]
Java IO: 網絡
Java中網絡的內容或多或少的超出了Java IO的範疇。關於Java網絡更多的是在我的Java網絡教程中探討。但是既然網絡是一個常見的數據來源以及數據流目的地,並且因為你使用Java IO的API通過網絡連接進行通信,所以本文將簡要的涉及網絡應用。
當兩個進程之間建立了網絡連接之後,他們通信的方式如同操作文件一樣:利用InputStream讀取數據,利用OutputStream寫入數據。換句話來說,Java網絡API用來在不同進程之間建立網絡連接,而Java IO則用來在建立了連接之後的進程之間交換數據。
基本上意味著如果你有一份能夠對文件進行寫入某些數據的代碼,那麼這些數據也可以很容易地寫入到網絡連接中去。你所需要做的僅僅隻是在代碼中利用InputStream替代FileInputStream進行數據的寫入。因為FileInputStream是InputStream的子類,所以這麼做並沒有什麼問題。(譯者注:此處應該是OutputStream和FileOutputStream)
實際上對於文件的讀操作也類似,一個具有讀取文件數據功能的組件,同樣可以輕鬆讀取網絡連接中的數據。隻需要保證讀取數據的組件是基於InputStream而非FileInputStream即可。
這是一份簡單的代碼示例:
01 |
public class MyClass {
|
03 |
public static void main(String[] args) {
|
04 |
InputStream inputStream = new FileInputStream( "c:\\myfile.txt" );
|
08 |
public static void process(InputStream input) throws IOException {
|
09 |
//do something with the InputStream
|
在這個例子中,process()方法並不關心InputStream參數的輸入流,是來自於文件還是網絡(例子隻展示了輸入流來自文件的版本)。process()方法隻會對InputStream進行操作。
最後更新:2017-05-23 14:35:27