【发布时间】:2017-10-24 12:08:55
【问题描述】:
我正在搜索如何使用 java 在 FTP 服务器上下载“www”文件夹。 我尝试压缩文件夹,然后从FTPClient 使用“检索文件”方法下载文件,但我找不到一些方法来做到这一点。 感谢您的帮助,谢谢。
我的备份 FTP 方法代码:
public void metodoBackupFtp(String host, String usr, String pass, String carpetaRemota, String destino)
throws InterruptedException {
// TODO Comprobar si seria posible comprimir el archivo antes de descargarlo
// *Nota al parecer no es posible con
// Ftp client, aun asi se deja el metodo de compresion sin probar
boolean connected, disconnected;
try {
FTPClient clienteFtp = new FTPClient();
System.err.println("Datos de conexión\nHost:" + host + "\nUser:" + usr + "\nPass:" + pass);
clienteFtp.connect(host);
connected = clienteFtp.login(usr, pass); // TODO ya se realiza una conexión inicial correcta
clienteFtp.enterLocalPassiveMode();
clienteFtp.setFileType(FTP.BINARY_FILE_TYPE);
if (connected) {
System.out.println("Conectado al FTP!");
JOptionPane.showMessageDialog(frame, "Conectado al FTP => " + host, "Conectado al FTP!",
JOptionPane.INFORMATION_MESSAGE);
System.err.println("Descarga de carpeta Carpeta Remota: " + carpetaRemota + "Destino: " + pathDestino);
} else {
JOptionPane.showMessageDialog(frame,
"No se ha podido establecer una conexión (Revisa los datos de conexión)",
"Fallo la conexión al FTP => " + host, JOptionPane.ERROR_MESSAGE);
}
// Thread.sleep(10000); //Para comprobar que se mantiene la conexion
// Muestra la lista de archivos del raiz FTP en la consola
clienteFtp.enterLocalPassiveMode();
FTPFile[] files = clienteFtp.listFiles();
String[] sfiles = null;
if (files != null)
{
sfiles = new String[files.length];
for (int i = 0; i < files.length; i++)
{
System.out.println(sfiles[i] = files[i].getName());
}
}
disconnected = clienteFtp.logout();
if (disconnected) {
JOptionPane.showMessageDialog(frame, "Desconectado de " + host, "Logout",
JOptionPane.INFORMATION_MESSAGE);
}
clienteFtp.disconnect();
} catch (SocketException e) {
JOptionPane.showMessageDialog(frame, "Fallo la conexión al FTP => " + host, "Error del servidor",
JOptionPane.ERROR_MESSAGE);
} catch (IOException e) {
}
}
【问题讨论】:
标签: java download backup directory ftp-client