2012-03-21 73 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,所以,要當心一點。