java怎么传输文件到另一个服务器

avatar
作者
筋斗云
阅读量:2

要将文件传输到另一个服务器,你可以使用Java中的Socket类进行网络通信。以下是一个示例代码,展示了如何使用Socket传输文件:

import java.io.*; import java.net.Socket;  public class FileTransferClient {     public static void main(String[] args) {         String serverIP = "目标服务器IP地址";         int serverPort = 1234;          String filePath = "要传输的文件路径";          try {             Socket socket = new Socket(serverIP, serverPort);              // 获取输入流             FileInputStream fileInputStream = new FileInputStream(filePath);             BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);              // 获取输出流             OutputStream outputStream = socket.getOutputStream();              // 创建缓冲区             byte[] buffer = new byte[1024];             int bytesRead;              // 从输入流读取数据,并写入输出流             while ((bytesRead = bufferedInputStream.read(buffer)) != -1) {                 outputStream.write(buffer, 0, bytesRead);             }              // 关闭流             bufferedInputStream.close();             outputStream.close();             socket.close();              System.out.println("文件传输完成");         } catch (IOException e) {             e.printStackTrace();         }     } } 

在上面的示例代码中,你需要替换serverIP为目标服务器的IP地址,serverPort为目标服务器的端口号,以及filePath为要传输的文件的路径。

然后在目标服务器上,你可以使用类似的代码来接收文件:

import java.io.*; import java.net.ServerSocket; import java.net.Socket;  public class FileTransferServer {     public static void main(String[] args) {         int serverPort = 1234;         String savePath = "保存文件的路径";          try {             ServerSocket serverSocket = new ServerSocket(serverPort);             System.out.println("服务器已启动,等待连接...");              Socket socket = serverSocket.accept();              // 获取输入流             InputStream inputStream = socket.getInputStream();              // 创建输出流             FileOutputStream fileOutputStream = new FileOutputStream(savePath);              // 创建缓冲区             byte[] buffer = new byte[1024];             int bytesRead;              // 从输入流读取数据,并写入输出流             while ((bytesRead = inputStream.read(buffer)) != -1) {                 fileOutputStream.write(buffer, 0, bytesRead);             }              // 关闭流             fileOutputStream.close();             inputStream.close();             socket.close();             serverSocket.close();              System.out.println("文件接收完成");         } catch (IOException e) {             e.printStackTrace();         }     } } 

在上面的示例代码中,你需要替换serverPort为服务器绑定的端口号,以及savePath为文件保存的路径。

这样,当你运行FileTransferClient时,它将会将文件传输到目标服务器上,目标服务器上的FileTransferServer会接收文件并保存到指定的路径。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!