You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Apache SSHD SftpClient API获取远程当前目录?

使用Apache Mina SSHD获取SFTP当前目录(含初始目录)

Apache Mina SSHD的SftpClient确实没有提供和JSch中ChannelSftp.pwd()完全对应的直接API,但可以通过realPath()方法间接实现获取当前工作目录的功能:

  • 调用SftpClient.realPath(".")即可解析当前目录的绝对路径——因为"."代表当前工作目录,realPath()会返回其对应的绝对路径对象,从中提取路径字符串就能得到当前目录。
  • 对于SFTP连接成功后的初始目录,连接建立后默认处于用户的主目录,使用上述方法即可直接获取到这个初始目录的绝对路径。

代码示例

// 假设已成功建立并打开SftpClient实例sftpClient
Path currentDir = sftpClient.realPath(".");
System.out.println("当前目录:" + currentDir.toString());

额外说明:如果只是需要获取用户固定的主目录,也可以直接调用SftpClient.getHomeDir(),但realPath(".")的优势在于能动态返回当前所在目录(比如调用cd()切换目录后,会返回新的当前路径),更贴合JSch中pwd()的使用场景。

内容的提问来源于stack exchange,提问作者Sarvesh H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 10:15:53