Я запутался ... Я использую com / hierynomus / sshj SFTP-lib, и следующий код дает мне ClassCastException:
SSHClient ssh = new SSHClient();
//... connect etc
StatefulSFTPClient client = (StatefulSFTPClient) ssh.newSFTPClient();
Мне нужен StatefulSFTPClient, но я не знаю, как его использовать ... Нужно ли мне расширять класс SSHClient с помощью:
public StatefulSFTPClient newStatefulSFTPClient()
throws IOException {
checkConnected();
checkAuthenticated();
return new StatefulSFTPClient(new SFTPEngine(this).init());
}




Ох уж ... не самый яркий момент - это можно сделать так:
StatefulSFTPClient client = new StatefulSFTPClient(new SFTPEngine(ssh).init());
И чтобы имитировать SSHClient.newSFTPClient ():
StatefulSFTPClient client;
if (ssh.isConnected()){
if (ssh.isAuthenticated()){
client = new StatefulSFTPClient(new SFTPEngine(ssh).init());
} else {
throw new IllegalStateException("Not authenticated");
}
} else {
throw new IllegalStateException("Not connected");
}