可以使用 Apache Commons Net 库中的 FTPClient 类来实现 Java 通过 FTP 复制文件的操作。以下是一个示例代码:

import org.apache.commons.net.ftp.FTPClient;
import java.io.IOException;

public class FtpCopyFile {

    public static void main(String[] args) {
        FTPClient ftpClient = new FTPClient();
        String server = 'ftp.example.com';
        int port = 21;
        String user = 'ftp-user1';
        String password = 'password';
        String oldDirectory = '/home/vsftpd/ftp-user1/old';
        String newDirectory = '/home/vsftpd/ftp-user1/new';
        
        try {
            // 连接 FTP 服务器
            ftpClient.connect(server, port);
            ftpClient.login(user, password);
            ftpClient.enterLocalPassiveMode();
            
            // 切换到旧目录
            ftpClient.changeWorkingDirectory(oldDirectory);
            
            // 获取旧目录下的所有文件名
            String[] fileNames = ftpClient.listNames();
            
            // 切换到新目录
            ftpClient.changeWorkingDirectory(newDirectory);
            
            // 复制每个文件到新目录
            for (String fileName : fileNames) {
                ftpClient.retrieveFile(oldDirectory + '/' + fileName, fileName);
            }
            
            // 断开连接
            ftpClient.logout();
            ftpClient.disconnect();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

在上面的代码中,我们首先创建一个 FTPClient 实例并连接到 FTP 服务器。然后,我们登录并切换到旧目录,获取该目录下的所有文件名。接下来,我们切换到新目录并使用 retrieveFile() 方法复制每个文件到新目录。最后,我们断开与 FTP 服务器的连接。

Java FTP 复制文件 - 将服务器文件从一个目录复制到另一个目录

原文地址: https://www.cveoy.top/t/topic/oxq7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录