欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Socket下載一個文本文件

 更新時間:2017年06月12日 15:44:02   作者:明日隨風  
這篇文章主要介紹了Socket下載一個文本文件的實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

package com.lanqiao.demo2; 
import java.io.BufferedInputStream; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.net.ServerSocket; 
import java.net.Socket; 
/** 
 * @author 
 * @version 創(chuàng)建時間:2017年6月12日 上午8:47:37 
 * 類說明:服務端上傳一個txt類型的文件 
 * 注意:服務端是一直不關閉的 
 */ 
public class TestServer { 
  // 這個路徑是我電腦上的一個記事本文件 
  private static final String PATH = "D:\\JavaFile_Test\\test\\網(wǎng)上JDK環(huán)境變量配置.txt"; 
  public static void main(String[] args) { 
    int count = 0; 
    OutputStream os = null; 
    ServerSocket severscoket = null; 
    Socket s1 = null; 
    BufferedInputStream bis =null; 
    int len=0; 
    try { 
      // 創(chuàng)建 Socket 服務 
      severscoket = new ServerSocket(8888); 
      while (true) { 
        // 阻塞 
        s1 = severscoket.accept(); 
        //服務端被連接的次數(shù) 
        count++; 
        System.out.println("---服務端開啟 " + count + " 次---"); 
        // 服務端寫入文件 
        os = s1.getOutputStream(); 
        //創(chuàng)建一個BufferedInputStream對象讀取我電腦上的文件 
        bis = new BufferedInputStream(new FileInputStream(PATH)); 
        //每次寫入512個字節(jié) 
        byte[] b = new byte[512]; 
        while ((len = bis.read(b)) != -1) { 
          os.write(b, 0, len); 
        } 
        s1.shutdownOutput(); 
        os.flush(); 
      } 
    } catch (IOException e) { 
      // TODO 自動生成的 catch 塊 
      e.printStackTrace(); 
    } finally { 
      try { 
        if (os != null) 
          os.close(); 
      } catch (IOException e) { 
        // TODO 自動生成的 catch 塊 
        e.printStackTrace(); 
      } 
    } 
  } 
} 
package com.lanqiao.demo2; 
import java.io.BufferedInputStream; 
import java.io.IOException; 
import java.net.Socket; 
/** 
 * @author 
 * @version 創(chuàng)建時間:2017年6月12日 上午9:04:36 
 * 類說明:客戶端打印出從服務端下載的txt內容 
 */ 
public class TestClient { 
  public static void main(String[] args) { 
    BufferedInputStream bis = null; 
    Socket socket = null; 
    int len=0; 
    try { 
      // 通過IP地址和端口號創(chuàng)建一個Socket對象 
      socket = new Socket("127.0.0.1", 8888); 
      // 客戶端讀取文件 
      bis = new BufferedInputStream(socket.getInputStream()); 
      // 每次讀512個字節(jié) 
      byte[] b = new byte[512]; 
      //當讀取的字節(jié)不為空 循環(huán)打印下載的內容 
      while ((len = bis.read(b)) != -1) { 
        System.out.println(new String(b, 0, len)); 
      } 
    } catch (IOException e) { 
      // TODO 自動生成的 catch 塊 
      e.printStackTrace(); 
    } finally { 
      //關閉客戶端的輸入流對象 和 Socket對象 
      try { 
        if(bis!=null) bis.close(); 
        if(socket!=null) socket.close(); 
      } catch (IOException e) { 
        // TODO 自動生成的 catch 塊 
        e.printStackTrace(); 
      } 
    } 
  } 
} 

以上所述是小編給大家介紹的Java中Socket下載一個文本文件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Java中方法重寫與重載的區(qū)別

    Java中方法重寫與重載的區(qū)別

    大家好,本篇文章主要講的是Java中方法重寫與重載的區(qū)別,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • JVM中的GC初識

    JVM中的GC初識

    GC(Garbage Collection)稱之為垃圾回收,是對內存中的垃圾對象,采用一定的算法進行內存回收的一個動作,這篇文章主要介紹了JVM中的GC初識,需要的朋友可以參考下
    2022-05-05
  • 老生常談Scanner的基本用法

    老生常談Scanner的基本用法

    下面小編就為大家?guī)硪黄仙U凷canner的基本用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Java enum關鍵字不識別的快速解決辦法

    Java enum關鍵字不識別的快速解決辦法

    這篇文章主要介紹了Java enum關鍵字不識別的快速解決辦法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • 淺談cookie和session(小結)

    淺談cookie和session(小結)

    這篇文章主要介紹了淺談cookie和session(小結),cookie和session在java web開發(fā)中扮演了十分重要的作用,本篇文章對其中的重要知識點做一些探究和總結
    2018-11-11
  • Java實例講解反射機制是怎么一回事

    Java實例講解反射機制是怎么一回事

    Java的反射(reflection)機制是指在程序的運行狀態(tài)中,可以構造任意一個類的對象,可以了解任意一個對象所屬的類,可以了解任意一個類的成員變量和方法,可以調用任意一個對象的屬性和方法
    2022-03-03
  • Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀

    Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀

    這篇文章主要介紹了Java 基于Spire.Cloud.SDK for Java在PDF中繪制形狀,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • springboot themaleaf 第一次進頁面不加載css的問題

    springboot themaleaf 第一次進頁面不加載css的問題

    這篇文章主要介紹了springboot themaleaf 第一次進頁面不加載css的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • UniApp?+?SpringBoot?實現(xiàn)微信支付和退款功能

    UniApp?+?SpringBoot?實現(xiàn)微信支付和退款功能

    這篇文章主要介紹了UniApp?+?SpringBoot?實現(xiàn)微信支付和退款功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • java switch語句使用注意的四大細節(jié)

    java switch語句使用注意的四大細節(jié)

    很多朋友在使用java switch語句時,可能沒有注意到一些細節(jié),本文將詳細介紹使用java switch語句四大要點,需要的朋友可以參考下
    2012-12-12

最新評論