我正在使用 SSHJ 库 ( https://github.com/shikhar/sshj )。
我可以使用 sshClient.newSCPFileTransfer();
获取我的 SCPClient
对象,但是随后调用 scpClient.download()
需要作为目标文件路径的 String 或 LocalDestFile 对象。我想要的只是打开一个流来下载文件。有没有一种方法可以使用 SSHJ 轻松地做到这一点?
我查看了 LocalDestFile 的不同实现,但似乎没有任何一个适用于这个用例。
具体用例是下载远程文件并将其流式传输到 Web 应用程序的客户端浏览器。我必须为此使用 SCP,因此想使用 SSHJ 库。
最佳答案
我能够通过扩展 InMemoryDestFile
类并将我想要的 OutputStream
对象传递到构造函数并让它在 getOutputStream
中返回来解决这个问题> 方法。
以下 GIST 中显示了一个示例:https://gist.github.com/2157565
似乎您需要在完成后自行关闭 OutputStream
,因此请注意这一点。
关于java - 如何使用 SSHJ 通过 SCP 流式传输文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800323/