Java
Chilkat2 Java
Remove a Remote Directory on an SFTP Server
See more SFTP Examples
Demonstrates the Chilkat SFtp.RemoveDir method, which deletes a remote directory. The only argument is the directory path.
Background: Most SFTP servers refuse to remove a directory that is not empty, so deleting a populated tree means removing its files and subdirectories first — the inverse of building a path level by level. There is no single "recursive delete" in the SFTP protocol; a client implements it by listing, descending, and removing bottom-up.
Chilkat Java Downloads
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.SFtp;
public class ChilkatExample {
public static void main(String[] args) {
// Demonstrates the SFtp.RemoveDir method, which deletes a remote directory. The only argument
// is the directory path.
SFtp sftp = new SFtp();
// Connect, authenticate, and initialize the SFTP subsystem.
int port = 22;
try {
sftp.connect("sftp.example.com", port);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
String password = "mySshPassword";
try {
sftp.authenticatePw("mySshLogin", password);
sftp.initializeSftp();
// Delete a remote directory. Most SFTP servers require the directory to be empty first.
sftp.removeDir("subdir/oldfolder");
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
System.out.println("Directory removed.");
sftp.disconnect();
}
}