我使用Apache Commons使用sftp从远程服务器检索文件。我将文件的URL隐藏起来并序列化。反序列化时,我得到以下异常
java.net.MalformedURLException:未知协议:sftp
当我这样做时会发生同样的事情
new URL(url.toString());
其中url是apache commons检索的文件的url。我已经对apache commons和jsch进行了依赖。我该如何解决这个问题?
答案 0 :(得分:0)
来自java documentation:
如果此类不存在,或者该类存在但它不是URLStreamHandler的子类,则抛出MalformedURLException。 保证在搜索路径上存在以下协议的协议处理程序: - http,https,ftp,file和jar
似乎不支持sftp。
答案 1 :(得分:0)
我认为更好的选择是http://www.jcraft.com/jsch/ 如果你需要或你被迫使用Apache库,有一个例子如何做http://www.mysamplecode.com/2013/06/sftp-apache-commons-file-download.html
这应该有助于你获得导向,你想要达到什么目的。