package test;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class GetAllFTPFiles {
public void getAllFTPFiles(String remoteHostName, String username,
String password, String workingDirectory) {
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(remoteHostName);
ftpClient.login(username, password);
ftpClient.changeWorkingDirectory(workingDirectory);
getFTPFiles(ftpClient, "");
} catch (Throwable e) {
e.printStackTrace();
} finally {
try {
ftpClient.logout();
} catch (Exception e) {
e.printStackTrace();
}
try {
ftpClient.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void getFTPFiles(FTPClient ftpClient, String path)
throws IOException {
FTPFile[] ftpFiles = ftpClient.listFiles(path);
if (ftpFiles == null) {
log("No FTP Files");
} else {
log("No. of FTP Files : " + ftpFiles.length);
}
for (FTPFile ftpFile : ftpFiles) {
if (ftpFile.isDirectory()) {
String newPath = (!path.equals("")) ? path + "/"
+ ftpFile.getName() : ftpFile.getName();
System.out.println(newPath);
getFTPFiles(ftpClient, newPath);
} else {
log(path + "/" + ftpFile.getName());
}
path = path.replaceAll(ftpFile.getName(), "");
}
}
private void log(Object log) {
System.out.println(log);
}
}
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class GetAllFTPFiles {
public void getAllFTPFiles(String remoteHostName, String username,
String password, String workingDirectory) {
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(remoteHostName);
ftpClient.login(username, password);
ftpClient.changeWorkingDirectory(workingDirectory);
getFTPFiles(ftpClient, "");
} catch (Throwable e) {
e.printStackTrace();
} finally {
try {
ftpClient.logout();
} catch (Exception e) {
e.printStackTrace();
}
try {
ftpClient.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void getFTPFiles(FTPClient ftpClient, String path)
throws IOException {
FTPFile[] ftpFiles = ftpClient.listFiles(path);
if (ftpFiles == null) {
log("No FTP Files");
} else {
log("No. of FTP Files : " + ftpFiles.length);
}
for (FTPFile ftpFile : ftpFiles) {
if (ftpFile.isDirectory()) {
String newPath = (!path.equals("")) ? path + "/"
+ ftpFile.getName() : ftpFile.getName();
System.out.println(newPath);
getFTPFiles(ftpClient, newPath);
} else {
log(path + "/" + ftpFile.getName());
}
path = path.replaceAll(ftpFile.getName(), "");
}
}
private void log(Object log) {
System.out.println(log);
}
}
No comments:
Post a Comment