亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaTCP上傳圖片代碼實(shí)例

 更新時(shí)間:2019年02月02日 08:32:03   作者:凌晨?jī)牲c(diǎn)半的太陽v  
今天小編就為大家分享一篇關(guān)于JavaTCP上傳圖片代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

1.客戶端代碼

public class UploadPicClient {
 public static void main(String[] args) throws UnknownHostException, IOException {
 // TODO Auto-generated method stub
 //1,創(chuàng)建客戶端socket
 Socket s = new Socket("localhost",10088);
 //2,讀取客戶端要上傳的圖片文件
 FileInputStream fis = new FileInputStream("D:\\workspace\\day2019.1.17\\lanjing.jpg");
 //3,獲取Socket輸出流,將讀到的圖片的數(shù)據(jù)發(fā)送到服務(wù)端
 OutputStream out = s.getOutputStream();
 byte[] buf = new byte[1021];
 int len =0;
 while((len=fis.read(buf))!=-1){
  out.write(buf,0,len);
 }
 //告訴服務(wù)端說:這邊的數(shù)據(jù)發(fā)送完畢讓服務(wù)端停止讀取
 s.shutdownOutput();
 //讀取服務(wù)端發(fā)回的內(nèi)容
 InputStream in = s.getInputStream();
 byte[] bufIn = new byte[1024];
 int lenIn = in.read(buf);
 String text = new String (buf,0,lenIn);
 System.out.println(text);
 //關(guān)閉資源
 fis.close();
 s.close();
 }
}

2.服務(wù)端代碼

public class UploadPicSever {
public static void main(String[] args) throws IOException {
 // TODO Auto-generated method stub
 //創(chuàng)建tcp的socket服務(wù)端
 ServerSocket ss = new ServerSocket(10088);
 //獲取客戶端
 Socket s = ss.accept();
 String ip = s.getInetAddress().getHostAddress();
 System.out.println(ip+".....connected");
 //讀取客戶端發(fā)來的數(shù)據(jù)
 InputStream in = s.getInputStream();
 //將讀取到的數(shù)據(jù)存儲(chǔ)到一個(gè)文件中。
 File dir = new File("D:\\workspace\\day2019.1.17");
 if(!dir.exists()){
 dir.mkdirs();
 }
 File file = new File(dir,"blue.jpg");
 FileOutputStream fos = new FileOutputStream(file);
 byte[] buf = new byte[1024];
 int len = 0;
 while ((len=in.read(buf))!=-1){
 fos.write(buf,0,len);
 }
 //獲取socket輸出流,將上傳成功字樣發(fā)送給客戶端
 OutputStream out = s.getOutputStream();
 out.write("上傳成功".getBytes());
 fos.close();
 s.close();
 ss.close();
}

上傳后和上傳前的圖片:

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Java將微信和支付寶支付的個(gè)二維碼合二為一的方法

    Java將微信和支付寶支付的個(gè)二維碼合二為一的方法

    這篇文章主要介紹了Java將微信和支付寶支付的個(gè)二維碼合二為一的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java實(shí)現(xiàn)MapReduce對(duì)文件進(jìn)行切分的示例代碼

    java實(shí)現(xiàn)MapReduce對(duì)文件進(jìn)行切分的示例代碼

    本文主要介紹了java實(shí)現(xiàn)MapReduce對(duì)文件進(jìn)行切分的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 快速了解JAVA中的Random()函數(shù)

    快速了解JAVA中的Random()函數(shù)

    這篇文章主要介紹了JAVA中的Random()函數(shù)的使用方法,文中代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 基于module-info.class的問題

    基于module-info.class的問題

    這篇文章主要介紹了基于module-info.class的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實(shí)現(xiàn)

    Java中的ArrayList是一種基于數(shù)組實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu),支持動(dòng)態(tài)擴(kuò)容和隨機(jī)訪問元素,可用于實(shí)現(xiàn)順序表等數(shù)據(jù)結(jié)構(gòu)。ArrayList在內(nèi)存中連續(xù)存儲(chǔ)元素,支持快速的隨機(jī)訪問和遍歷。通過學(xué)習(xí)ArrayList的實(shí)現(xiàn)原理和使用方法,可以更好地掌握J(rèn)ava中的數(shù)據(jù)結(jié)構(gòu)和算法
    2023-04-04
  • JavaWeb ServletConfig作用及原理分析講解

    JavaWeb ServletConfig作用及原理分析講解

    ServletConfig對(duì)象,叫Servlet配置對(duì)象。主要用于加載配置文件的初始化參數(shù)。我們知道一個(gè)Web應(yīng)用里面可以有多個(gè)servlet,如果現(xiàn)在有一份數(shù)據(jù)需要傳給所有的servlet使用,那么我們就可以使用ServletContext對(duì)象了
    2022-10-10
  • Spring Boot 與DBunit 配合使用方法

    Spring Boot 與DBunit 配合使用方法

    這篇文章主要介紹了Spring Boot 與DBunit 配合使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • java虛擬機(jī)jvm方法區(qū)實(shí)例講解

    java虛擬機(jī)jvm方法區(qū)實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于java虛擬機(jī)jvm方法區(qū)實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • 在springboot中使用攔截器的步驟詳解

    在springboot中使用攔截器的步驟詳解

    攔截器Interceptor,是SpringMVC中的核心內(nèi)容,在SpringBoot中使用Interceptor,同時(shí)采用全注解開發(fā),這篇文章主要介紹了在springboot中使用攔截器的步驟,需要的朋友可以參考下
    2022-01-01
  • Springboot日期轉(zhuǎn)換器實(shí)現(xiàn)代碼及示例

    Springboot日期轉(zhuǎn)換器實(shí)現(xiàn)代碼及示例

    這篇文章主要介紹了Springboot日期轉(zhuǎn)換器實(shí)現(xiàn)代碼及示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08

最新評(píng)論