2012-03-21 44 views
3

我正在使用SSHJ库(https://github.com/shikhar/sshj)。如何使用SSHJ通过SCP传输文件?

我可以使用sshClient.newSCPFileTransfer();让我SCPClient对象,但随后调用scpClient.download()需要是一个字符串作为目标文件或LocalDestFile对象的路径。我只想要打开一个流来下载文件。有没有一种方法可以使用SSHJ轻松完成此操作?

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

特定的用例是下载远程文件并将其流式传输到客户端的浏览器以供Web应用程序使用。我必须为此使用SCP,因此希望使用SSHJ库。

回答

3

我能够通过扩展InMemoryDestFile类并将我想要的OutputStream对象传入构造函数并使其返回getOutputStream方法来解决此问题。

一个例子显示在下面的要点是:https://gist.github.com/2157565

看来你需要关闭你自己,当你做了OutputStream,所以,要当心一点。