我正在使用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,因此请当心.