您的位置:首頁技術文章
文章詳情頁

Java網絡編程TCP實現文件上傳功能

瀏覽:83日期:2022-08-09 11:39:52

本文實例為大家分享了Java網絡編程TCP實現文件上傳的具體代碼,供大家參考,具體內容如下

上一篇博客,用網絡編程TCP 實現聊天,這次實現文件上傳。

客戶端:

package com.kuang.lesson02;import java.io.*;import java.net.InetAddress;import java.net.Socket;//客戶端public class TcpClientDemo2 { public static void main(String[] args) throws Exception {//1、創建一個Socket連接Socket socket = new Socket(InetAddress.getByName('127.0.0.1'),9000);//2、創建一個輸出流OutputStream os = socket.getOutputStream();//3、讀取文件FileInputStream fis = new FileInputStream(new File('sendFile.jpg'));//4、寫出文件byte[] buffer = new byte[1024];int len;while ((len=fis.read(buffer))!=-1) { os.write(buffer,0,len);}//通知服務器,我已經結束了socket.shutdownOutput();//確定服務器接收完畢,才能斷開連接InputStream inputStream = socket.getInputStream();//String byte[]ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buffer2 = new byte[1024];int len2;while ((len2=inputStream.read(buffer2))!=-1) { baos.write(buffer2,0,len2);}System.out.println(baos.toString());//5、關閉資源fis.close();os.close();socket.close(); }}服務端:

package com.kuang.lesson02;import java.io.*;import java.net.ServerSocket;import java.net.Socket;//服務端public class TcpServerDemo02 { public static void main(String[] args) throws Exception {//1、創建服務ServerSocket serverSocket = new ServerSocket(9000);//2、監聽客戶端的連接//阻塞式監聽,會一直等待客戶端連接Socket socket = serverSocket.accept();//3、獲取輸入流InputStream is = socket.getInputStream();//4、文件輸出FileOutputStream fos = new FileOutputStream(new File('receive.jpg'));byte[] buffer = new byte[1024];int len;while ((len=is.read(buffer))!=-1) { fos.write(buffer,0,len);}//通知客戶端我接收完畢OutputStream os = socket.getOutputStream();os.write('我接收完畢了,你可以斷開了'.getBytes());//5、關閉資源fos.close();is.close();socket.close();serverSocket.close(); }}運行結果:

1、首先可以發現目錄下只有要上傳的文件sendFile.jsp

Java網絡編程TCP實現文件上傳功能

2、運行服務端,創建服務,可以發現一直在運行

Java網絡編程TCP實現文件上傳功能

3、運行客戶端,文件上傳,可以發現目錄下多了個上傳到服務端的文件receive.jpg,同時接收到了服務端發送來的消息。

Java網絡編程TCP實現文件上傳功能

Java網絡編程TCP實現文件上傳功能

4、打開兩個文件,可以發現相同

Java網絡編程TCP實現文件上傳功能

Java網絡編程TCP實現文件上傳功能

網絡編程實現文件上傳就簡單介紹到這里了!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
国产综合久久一区二区三区