我正在使用SSHJ库(https://github.com/shikhar/sshj)。
我可以使用sshClient.newSCPFileTransfer();
来获取SCPClient
对象,但是对scpClient.download()
的调用需要String作为目标文件的路径或LocalDestFile对象。我想要的只是打开一个流来下载文件。有没有办法使用SSHJ轻松完成此操作?
我查看了LocalDestFile的不同实现,但似乎没有什么适用于这个用例。
具体用例是下载远程文件并将其流式传输到客户端的浏览器以获取Web应用程序。我必须使用SCP,因此想要使用SSHJ库。
答案 0 :(得分:3)
我能够通过扩展InMemoryDestFile
类并将我想要的OutputStream
对象传递给构造函数并将其返回到getOutputStream
方法来解决这个问题。
以下GIST中显示了一个示例:https://gist.github.com/2157565
看来你完成后需要自己关闭OutputStream
,所以要小心。