Удаление файла/папки с FTP-сервера в Java

Чтобы удалить существующий файл на FTP-сервере с помощью Apache Commons Net API, можно использовать метод deleteFile() FTPClient:

public boolean deleteFile(String pathname) выдает IOException:  Этот метод выдаст FTP-серверу команду, которая удалит путь к удаленному файлу, указанный в параметре pathname. Этот метод возвращает true если удаленный файл успешно удален, в противном случае false, если файл не существует или является каталогом. Этот метод вызывает исключение FTPConnectionClosedException в случае, если соединение с сервером в данный момент закрыто, или IOException если при обмене данными с сервером возникает ошибка чтения/записи.

Чтобы использовать Apache Commons Net API, необходимо загрузить его с  http://commons.apache.org/net/download_net.cgi  и добавьте .jar файл в classpath.

Чтобы проиллюстрировать полезность deleteFile(), мы будем работать с примером:
  • Авторизуйтесь на FTP-сервере.
  • Удалить файл на сервере.
  • Отключиться от сервера.
Вот пример использования deleteFile():

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

public class deleteFileFTP {

public static void main(String[] args) {
String server = "имя или адрес сервера";
int порт = 21;
String username = "username";
Строка password = "password";

FTPClient ftpClient = new FTPClient();
try {

ftpClient.connect(server, port);

int response = ftpClient.getReplyCode();
if (! FTPReply.isPositiveCompletion(answer)) {
System.out.println("Сбой соединения");
возврат;
}

boolean res = ftpClient.login(имя пользователя, пароль);

if (res==false) {
System.out.println("Неудачная идентификация сервера");
возврат;
}
String fileToDelete = "/music/Symphonie.wma";

логическое значение isDeleted = ftpClient.deleteFile(fileToDelete);

if (isDeleted==true) {
System.out.println("Файл был успешно удален");
} else {
System.out.println("Невозможно удалить файл");
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
например, printStackTrace();
} наконец {
// отключаемся от сервера
пробуем {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
После компиляции и запуска программы терминал выдает, что удаление прошло успешно:

Файл был успешно удален