Löschen Sie eine Datei/einen Ordner von einem FTP-Server in Java
Um eine vorhandene Datei auf dem FTP-Server mit der Apache Commons Net API zu löschen, kann man die Methode deleteFile() der FTPClient:
public boolean deleteFile(String pathname) wirft IOException: Diese Methode gibt einen Befehl an den FTP-Server aus, der den Pfad der Remote-Datei löscht, der im Parameter Pfadname. Diese Methode gibt true wenn die entfernte Datei erfolgreich gelöscht wurde, andernfalls false, wenn die Datei nicht existiert oder es sich um ein Verzeichnis handelt. Diese Methode löst eine Ausnahme aus FTPConnectionClosedException falls die Verbindung zum Server gerade geschlossen ist, oder IOException wenn bei der Kommunikation mit dem Server ein Lese-/Schreibfehler auftritt.
Um die Apache Commons Net API zu verwenden, müssen Sie sie von http://commons.apache.org/net/download_net.cgi und fügen Sie die .jar Datei zu Ihrer classpath.
Um die Nützlichkeit des deleteFile(), arbeiten wir mit einem Beispiel, das:
public boolean deleteFile(String pathname) wirft IOException: Diese Methode gibt einen Befehl an den FTP-Server aus, der den Pfad der Remote-Datei löscht, der im Parameter Pfadname. Diese Methode gibt true wenn die entfernte Datei erfolgreich gelöscht wurde, andernfalls false, wenn die Datei nicht existiert oder es sich um ein Verzeichnis handelt. Diese Methode löst eine Ausnahme aus FTPConnectionClosedException falls die Verbindung zum Server gerade geschlossen ist, oder IOException wenn bei der Kommunikation mit dem Server ein Lese-/Schreibfehler auftritt.
Um die Apache Commons Net API zu verwenden, müssen Sie sie von http://commons.apache.org/net/download_net.cgi und fügen Sie die .jar Datei zu Ihrer classpath.
Um die Nützlichkeit des deleteFile(), arbeiten wir mit einem Beispiel, das:
- Melden Sie sich beim FTP-Server an.
- Löschen Sie die Datei auf dem Server.
- Trennen Sie die Verbindung zum Server.
import java.io.IOException;Nach dem Kompilieren und Ausführen des Programms zeigt das Terminal an, dass der Löschvorgang erfolgreich war:
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 = "Servername oder -adresse";
int port = 21;
Zeichenkette Benutzername = "Benutzername";
Zeichenkette password = "password";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
int response = ftpClient.getReplyCode();
if (! FTPReply.isPositiveCompletion(Antwort)) {
System.out.println("Verbindung fehlgeschlagen");
Rückkehr;
}
boolean res = ftpClient.login(Benutzername, Passwort);
if (res==false) {
System.out.println("Failed Server Identification");
Rückkehr;
}
String fileToDelete = "/music/Symphonie.wma";
boolescher Wert isDeleted = ftpClient.deleteFile(fileToDelete);
if (isDeleted==true) {
System.out.println("Die Datei wurde erfolgreich gelöscht");
} else {
System.out.println("Datei kann nicht gelöscht werden");
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
z.B. printStackTrace();
} finally {
// Verbindung zum Server trennen
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Die Datei wurde erfolgreich gelöscht