java 服务器之间传输文件
时间: 2023-08-29 10:08:33 浏览: 34
在 Java 中,可以使用 Socket 和 ServerSocket 类来实现服务器之间的文件传输。具体步骤如下:
1. 在发送方服务器上,创建一个 ServerSocket 对象并指定端口号,等待接收来自接收方服务器的连接请求。
2. 在接收方服务器上,创建一个 Socket 对象并指定发送方服务器的 IP 地址和端口号,连接到发送方服务器。
3. 发送方服务器接收到连接请求后,创建一个 Socket 对象与接收方服务器建立连接。
4. 发送方服务器将要传输的文件读入到内存中,然后通过创建的 Socket 对象将文件数据发送到接收方服务器。
5. 接收方服务器接收到文件数据后,将其写入到指定的文件中。
6. 文件传输完成后,关闭 Socket 和 ServerSocket 对象。
下面是一个简单的示例代码:
发送方服务器:
```java
ServerSocket serverSocket = new ServerSocket(port);
Socket socket = serverSocket.accept();
File fileToSend = new File("fileToSend.txt");
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileToSend));
OutputStream os = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
bis.close();
os.close();
socket.close();
serverSocket.close();
```
接收方服务器:
```java
Socket socket = new Socket(ip, port);
File fileToSave = new File("fileToSave.txt");
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fileToSave));
InputStream is = socket.getInputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
is.close();
socket.close();
```
注意:在实际使用中需要进行错误处理和异常捕获。