IO流 之 文件上传

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


客户端: 

package com.tencent.network;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
public class FileClient {
public static void main(String[] args) {
try {
// 建立连接
Socket socket = new Socket(InetAddress.getByName("127.0.0.1") , 9000);
// 输出流
OutputStream os = socket.getOutputStream();
// 文件输入流
FileInputStream fs = new FileInputStream(new File("./file.out"));
// 缓冲区 依次写入 输出流
byte[] buffer = new byte[1024];
int len = 0;
while((len = fs.read(buffer)) != -1) {
os.write(buffer , 0 , len);
}

//通知服务器 我传输完了!
socket.shutdownOutput();

// 确认服务器接收完毕 输入流
InputStream is = socket.getInputStream();
ByteArrayOutputStream bo = new ByteArrayOutputStream();
byte[] buffer2 = new byte[1024];
int len2 = 0;
while((len2 = is.read(buffer2)) != -1) {
bo.write(buffer2 , 0 , len2);
}
System.out.println(bo.toString());

// 关闭资源
fs.close();
os.close();
socket.close();
} catch (Exception e ) {
e.printStackTrace();
}
}
}

服务端:

package com.tencent.network;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class FileServer {


public static void main(String[] args) {
try {
// 创建服务socket
ServerSocket serverSocket = new ServerSocket(9000);
// 阻塞式监听 会一直等待客户端发送信息
Socket socket = serverSocket.accept();
// 输入流
InputStream is = socket.getInputStream();
// 文件输出流
FileOutputStream fos = new FileOutputStream(new File("new"));
//把文件的输出流到输入流去
int len = 0;
byte[] buffer = new byte[1024];
while((len = is.read(buffer)) != -1) {
fos.write(buffer , 0 , len);
}

OutputStream os = socket.getOutputStream();
os.write("我接收完毕了,你可以断开了".getBytes());

// 关闭资源
fos.close();
is.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6