java代码实现两台服务器间的文件传输
时间: 2024-05-01 09:20:53 浏览: 10
可以使用Java的Socket编程实现两台服务器之间的文件传输。以下是一个简单的示例代码:
服务器端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(1234); // 创建服务器Socket,监听端口号为1234
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept(); // 等待客户端连接
System.out.println("客户端已连接");
// 获取输入流和输出流
InputStream in = socket.getInputStream();
OutputStream out = new FileOutputStream("file.txt");
// 读取客户端发送的文件并写入本地文件
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
// 关闭流和Socket连接
out.close();
in.close();
socket.close();
serverSocket.close();
System.out.println("文件传输完成");
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("192.168.0.100", 1234); // 创建客户端Socket,连接服务器IP地址为192.168.0.100,端口号为1234
System.out.println("连接服务器成功");
// 获取输入流和输出流
OutputStream out = socket.getOutputStream();
InputStream in = new FileInputStream("file.txt");
// 读取本地文件并发送到服务器
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
// 关闭流和Socket连接
in.close();
out.close();
socket.close();
System.out.println("文件传输完成");
}
}
```
其中,服务器端代码监听端口号为1234,客户端代码连接服务器IP地址为192.168.0.100,端口号为1234,可以根据实际情况进行修改。在代码中,客户端会将本地的文件file.txt发送到服务器端,并保存到服务器的当前目录下。