4

我正在使用 SSHJ 库(https://github.com/shikhar/sshj)。

我可以使用sshClient.newSCPFileTransfer();来获取我的SCPClient对象,但是调用scpClient.download()需要一个字符串作为目标文件的路径或一个 LocalDestFile 对象。我想要的只是打开一个流来下载文件。有没有办法使用 SSHJ 轻松做到这一点?

我查看了 LocalDestFile 的不同实现,但似乎没有任何东西适用于这个用例。

特定用例是下载远程文件并将其流式传输到客户端的浏览器以获取 Web 应用程序。我必须为此使用 SCP,因此想使用 SSHJ 库。

4

1 回答 1

4

我能够通过扩展InMemoryDestFile类并将我想要OutputStream的对象传递给构造函数并在getOutputStream方法中返回它来解决这个问题。

以下 GIST 中显示了一个示例:https ://gist.github.com/2157565

完成后您似乎需要OutputStream自行关闭,因此请注意这一点。

于 2012-03-22T10:18:56.523 回答