Java FTP 文件复制:将服务器文件从一个目录移动到另一个目录
以下是使用 Java 代码将服务器上 /home/vsftpd/ftp-user1/old 目录中的所有文件复制到 /home/vsftpd/ftp-user1/new 目录的示例:
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class FtpCopyExample {
private static final String SERVER_ADDRESS = 'ftp.example.com';
private static final String USER_NAME = 'ftp-user1';
private static final String PASSWORD = 'password';
private static final String OLD_DIR = '/home/vsftpd/ftp-user1/old';
private static final String NEW_DIR = '/home/vsftpd/ftp-user1/new';
public static void main(String[] args) {
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(SERVER_ADDRESS);
ftpClient.login(USER_NAME, PASSWORD);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
FTPFile[] files = ftpClient.listFiles(OLD_DIR);
for (FTPFile file : files) {
String fileName = file.getName();
String filePath = OLD_DIR + '/' + fileName;
ftpClient.rename(filePath, NEW_DIR + '/' + fileName);
}
ftpClient.logout();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftpClient.isConnected()) {
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
该示例使用 Apache Commons Net 库连接到 FTP 服务器,然后使用 listFiles 方法获取 /home/vsftpd/ftp-user1/old 目录中的所有文件。接着,使用 rename 方法将每个文件移动到 /home/vsftpd/ftp-user1/new 目录中。最后,使用 logout 方法断开与 FTP 服务器的连接。
请注意,在实际应用中,您需要根据您的 FTP 服务器的配置和安全策略进行适当的配置和身份验证。
原文地址: https://www.cveoy.top/t/topic/oxq9 著作权归作者所有。请勿转载和采集!