网络编程:TCP实现文件上传

 2023-09-06 阅读 19 评论 0

摘要:客户端 package internet;import java.io.*; import java.net.InetAddress; import java.net.Socket;/*** Create with IntelliJ IDAE** @Author: JINLEI* @Description:* @Date: 2022/2/23* @Time: 19:34**/ //文件上传 客户端 public class TcpClientDemo2

客户端

package internet;import java.io.*;
import java.net.InetAddress;
import java.net.Socket;/*** Create with IntelliJ IDAE** @Author: JINLEI* @Description:* @Date: 2022/2/23* @Time: 19:34**/
//文件上传 客户端
public class TcpClientDemo2 {public static void main(String[] args) throws IOException {//1、创建一个socket连接Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 9000);//创建一个输出流OutputStream os = socket.getOutputStream();//3、读取文件FileInputStream fis = new FileInputStream(new File("1.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();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、关闭资源baos.close();inputStream.close();fis.close();os.close();socket.close();}
}

服务端

package internet;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;/*** Create with IntelliJ IDAE** @Author: JINLEI* @Description:* @Date: 2022/2/23* @Time: 19:34**/
//文件上传 服务端
public class TcpServerDemo2 {public static void main(String[] args) throws IOException {//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();}
}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/9018.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息