Java IO: 網路

喝水會長肉 發表於 2021-11-27
Java

Java中網路的內容或多或少的超出了Java IO的範疇。關於Java網路更多的是在我的Java網路教程中探討。但是既然網路是一個常見的資料來源以及資料流目的地,並且因為你使用Java IO的API通過網路連線進行通訊,所以本文將簡要的涉及網路應用。


當兩個程式之間建立了網路連線之後,他們通訊的方式如同操作檔案一樣:利用InputStream讀取資料,利用OutputStream寫入資料。換句話來說,Java網路API用來在不同程式之間建立網路連線,而Java IO則用來在建立了連線之後的程式之間交換資料。

基本上意味著如果你有一份能夠對檔案進行寫入某些資料的程式碼,那麼這些資料也可以很容易地寫入到網路連線中去。你所需要做的僅僅只是在程式碼中利用InputStream替代FileInputStream進行資料的寫入。因為FileInputStream是InputStream的子類,所以這麼做並沒有什麼問題。(譯者注:此處應該是OutputStream和FileOutputStream)

實際上對於檔案的讀操作也類似,一個具有讀取檔案資料功能的元件,同樣可以輕鬆讀取網路連線中的資料。只需要保證讀取資料的元件是基於InputStream而非FileInputStream即可。

這是一份簡單的程式碼示例:


//java學習交流:737251827  進入可領取學習資源及對十年開發經驗大佬提問,免費解答!

public class MyClass {

    public static void main ( String [ ] args ) {

       InputStream inputStream = new FileInputStream ( "c:\\myfile.txt" ) ;

      process (inputStream ) ;
    }

    public static void process (InputStream input ) throws IOException {

        //do something with the InputStream
    }

}

在這個例子中,process()方法並不關心InputStream引數的輸入流,是來自於檔案還是網路(例子只展示了輸入流來自檔案的版本)。process()方法只會對InputStream進行操作。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010294/viewspace-2844424/,如需轉載,請註明出處,否則將追究法律責任。