我使用的是SSHJ库(https://github.com/shikhar/sshj)。
我可以使用sshClient.newSCPFileTransfer();来获取SCPClient对象,但是对scpClient.download()的调用需要一个字符串作为目标文件的路径,或者需要一个LocalDestFile对象。我想要的就是打开一个下载文件的流。有没有一种使用SSHJ轻松做到这一点的方法?
我研究了LocalDestFile的不同实现,但似乎没有一种实现适用于此用例。
具体的用例是下载远程文件,并将其流式传输到客户端的浏览器以获取web应用程序。为此,我必须使用SCP,因此我希望使用SSHJ库。
发布于 2012-03-22 18:18:57
我能够解决这个问题,方法是扩展InMemoryDestFile类,将所需的OutputStream对象传递给构造函数,并在getOutputStream方法中返回它。
下面的GIST展示了一个示例:https://gist.github.com/2157565
似乎您需要在完成后自行关闭OutputStream,因此请注意这一点。
https://stackoverflow.com/questions/9800323
复制相似问题