Files
javaSE-0113/javaSE-day11/src/com/inmind/threads_upload05/TcpUploadClientDemo07.java

48 lines
1.7 KiB
Java

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();
}
}