进阶day11-网络编程_TCP文件上传的服务端实现
This commit is contained in:
@@ -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");
|
||||
45
javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java
Normal file
45
javaSE-day11/src/com/inmind/tcp03/TcpUploadServerDemo05.java
Normal file
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user