我正在使用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/

10-11 05:11