java-如何使用SSHJ通过SCP流式传输文件?

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

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

我查看了LocalDestFile的不同实现,但似乎没有适用于此用例的东西.

具体用例是下载远程文件并将其流式传输到客户端浏览器中的Web应用程序.我必须为此使用SCP,因此想使用SSHJ库.

解决方法:

我可以通过扩展InMemoryDe​​stFile类并将所需的OutputStream对象传递到构造函数中并将其返回到getOutputStream方法中来解决此问题.

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

看来您需要在完成后自行关闭OutputStream,因此请当心.

上一篇:linux-检查scp命令的状态代码,如果失败,则在另一台计算机上调用scp


下一篇:不同Linux主机间的复制scp