我很困惑..。我使用的是com/hierynomus/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());
}发布于 2018-05-08 08:42:34
哦我的..。这不是最光明的时刻--它可以这样做:
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");
}https://stackoverflow.com/questions/50229081
复制相似问题