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

Java中Socket下載一個(gè)文本文件

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

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

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

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

相關(guān)文章

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

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

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

    JVM中的GC初識(shí)

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

    老生常談Scanner的基本用法

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

    Java enum關(guān)鍵字不識(shí)別的快速解決辦法

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

    淺談cookie和session(小結(jié))

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

    Java實(shí)例講解反射機(jī)制是怎么一回事

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

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

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

    springboot themaleaf 第一次進(jìn)頁面不加載css的問題

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

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

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

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

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

最新評(píng)論