package com.inmind.threads_upload05; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /* 文件上传客户端的实现步骤: 1.创建字节输入流读取图片的字节数据 2.创建客户端对象指定服务器的IP和端口 3.获取客户端的字节输出流,将图片的字节数据边读边写,作为请求数据,发送给服务器 4.获取客户端的字节输入流,接收服务器的响应数据 5.资源释放 */ public class TcpUploadClientDemo07 { public static void main(String[] args) throws IOException { //1.创建字节输入流读取图片的字节数据 FileInputStream fis = new FileInputStream("1.jpg"); //2.创建客户端对象指定服务器的IP和端口 Socket client = new Socket("192.168.22.51", 10002); OutputStream os = client.getOutputStream();//发送请求数据 byte[] buf = new byte[1024]; int len; //3.获取客户端的字节输出流,将图片的字节数据边读边写,作为请求数据,发送给服务器 while ((len = fis.read(buf)) != -1) { os.write(buf,0,len); } //通知服务端,请求数据发送结束了 fis.close(); System.out.println("客户端上传了图片"); client.shutdownOutput(); //4.获取客户端的字节输入流,接收服务器的响应数据 InputStream is = client.getInputStream(); while ((len = is.read(buf)) != -1) { System.out.println(new String(buf, 0, len)); } System.out.println("客户端接收到了响应的结果"); //5.资源释放 client.close(); } }