Я использую apache commons-net для загрузки файла с FTP-сервера. Это очень хорошо работает. В части, с которой я столкнулся, показана работа загрузки с использованием JProgressBar
.Как показать JProgressBar при загрузке файла с FTP-сервера
Следующий код демонстрирует, как я скачиваю файл, мне нужно:
public void download() {
try {
FTPClient ftpClient = new FTPClient();
String fileName = "OFMEX_MANUFACTURING.jar";
ftpClient.connect("192.168.1.242");
int replyCode = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
JOptionPane.showMessageDialog(null, "Server Down");
}
boolean login = ftpClient.login("bioftp", "bioftp");
boolean changeWorkingDirectory = ftpClient.changeWorkingDirectory("ofmex\\Linux\\");
boolean setFileType = ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
OutputStream data = (OutputStream) new FileOutputStream(fileName);
ftpClient.retrieveFile(fileName, data);
ftpClient.abort();
} catch (Exception e) {
e.printStackTrace();
}
}