Java網(wǎng)絡編程TCP實現(xiàn)文件上傳功能
本文實例為大家分享了Java網(wǎng)絡編程TCP實現(xiàn)文件上傳的具體代碼,供大家參考,具體內容如下
上一篇博客,用網(wǎng)絡編程TCP 實現(xiàn)聊天,這次實現(xiàn)文件上傳。
客戶端: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、創(chuàng)建一個Socket連接Socket socket = new Socket(InetAddress.getByName('127.0.0.1'),9000);//2、創(chuàng)建一個輸出流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);}//通知服務器,我已經(jīng)結束了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、創(chuàng)建服務ServerSocket serverSocket = new ServerSocket(9000);//2、監(jiān)聽客戶端的連接//阻塞式監(jiān)聽,會一直等待客戶端連接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、首先可以發(fā)現(xiàn)目錄下只有要上傳的文件sendFile.jsp

2、運行服務端,創(chuàng)建服務,可以發(fā)現(xiàn)一直在運行

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


4、打開兩個文件,可以發(fā)現(xiàn)相同


網(wǎng)絡編程實現(xiàn)文件上傳就簡單介紹到這里了!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
1. ASP動態(tài)網(wǎng)頁制作技術經(jīng)驗分享2. vue前端RSA加密java后端解密的方法實現(xiàn)3. php使用正則驗證密碼字段的復雜強度原理詳細講解 原創(chuàng)4. JSP+Servlet實現(xiàn)文件上傳到服務器功能5. vue項目登錄成功拿到令牌跳轉失敗401無登錄信息的解決6. 基于javaweb+jsp實現(xiàn)企業(yè)財務記賬管理系統(tǒng)7. asp批量添加修改刪除操作示例代碼8. 淺談由position屬性引申的css進階討論9. ASP 信息提示函數(shù)并作返回或者轉向10. CSS可以做的幾個令你嘆為觀止的實例分享

網(wǎng)公網(wǎng)安備