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