反序列化URL时出现MalformedURLException

时间:2014-07-11 07:22:01

标签: java apache apache-commons

我使用Apache Commons使用sftp从远程服务器检索文件。我将文件的URL隐藏起来并序列化。反序列化时,我得到以下异常

  

java.net.MalformedURLException:未知协议:sftp

当我这样做时会发生同样的事情

new URL(url.toString());

其中url是apache commons检索的文件的url。我已经对apache commons和jsch进行了依赖。我该如何解决这个问题?

2 个答案:

答案 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

这应该有助于你获得导向,你想要达到什么目的。