From f726ca5078aec5bb524965907b36d16806b2c589 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Fri, 27 Mar 2026 10:14:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day11-=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E7=BC=96=E7=A8=8B=5FTCP=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=9A=84=E6=9C=8D=E5=8A=A1=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Demo05.java => TcpUploadClientDemo05.java} | 2 +- .../inmind/tcp03/TcpUploadServerDemo05.java | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) rename javaSE-day11/src/com/inmind/tcp03/{TcpUploadDemo05.java => TcpUploadClientDemo05.java} (97%) create mode 100644 javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java diff --git a/javaSE-day11/src/com/inmind/tcp03/TcpUploadDemo05.java b/javaSE-day11/src/com/inmind/tcp03/TcpUploadClientDemo05.java similarity index 97% rename from javaSE-day11/src/com/inmind/tcp03/TcpUploadDemo05.java rename to javaSE-day11/src/com/inmind/tcp03/TcpUploadClientDemo05.java index 6a0e3a9..0317bb4 100644 --- a/javaSE-day11/src/com/inmind/tcp03/TcpUploadDemo05.java +++ b/javaSE-day11/src/com/inmind/tcp03/TcpUploadClientDemo05.java @@ -11,7 +11,7 @@ import java.net.Socket; 4.获取客户端的字节输入流,接收服务器的响应数据 5.资源释放 */ -public class TcpUploadDemo05 { +public class TcpUploadClientDemo05 { public static void main(String[] args) throws IOException { //1.创建字节输入流读取图片的字节数据 FileInputStream fis = new FileInputStream("1.jpg"); diff --git a/javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java b/javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java new file mode 100644 index 0000000..cadacc8 --- /dev/null +++ b/javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java @@ -0,0 +1,45 @@ +package com.inmind.tcp03; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ServerSocket; +import java.net.Socket; + +/* + 文件上传的服务端的实现步骤: + 1.创建一个服务端对象,接收请求 + 2.获取客户端socket对象的字节输入流,接收请求数据(图片字节数据) + 3.创建字节输出流,边读边写到硬盘中 + 4.获取客户端的socket对象字节输出流,发送响应数据(上传成功) + 5.资源释放 + */ +public class TcpUploadServerDemo05 { + public static void main(String[] args) throws IOException { + //1.创建一个服务端对象,接收请求 + ServerSocket server = new ServerSocket(10002); + System.out.println("服务端启动了"); + Socket clientSocket = server.accept(); + System.out.println(clientSocket.getInetAddress().getHostAddress()); + + //2.获取客户端socket对象的字节输入流,接收请求数据(图片字节数据) + InputStream is = clientSocket.getInputStream(); + byte[] buf = new byte[1024]; + int len; + //3.创建字节输出流,边读边写到硬盘中 + FileOutputStream fos = new FileOutputStream("D:\\io_test\\upload\\a.jpg"); + while ((len = is.read(buf)) != -1) { + fos.write(buf,0,len); + } + fos.close(); + System.out.println("服务器保存了上传的图片"); + //4.获取客户端的socket对象字节输出流,发送响应数据(上传成功) + OutputStream os = clientSocket.getOutputStream(); + os.write("上传成功".getBytes()); + System.out.println("服务器响应了结果给客户端"); + //5.资源释放 + clientSocket.close(); + server.close(); + } +}