Удаление файла/папки с 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(), мы будем работать с примером:
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-сервере.
- Удалить файл на сервере.
- Отключиться от сервера.
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();
}
}
}
}
Файл был успешно удален