2011-02-17 53 views
2

使用下面的代码片段,如果docurl =“about:blank”,那么我得到一个java.net.MalformedURLException抛出。我不相信我是第一个必须处理这样的网址,所以我想知道是否有一个不同的API比java.net我可以使用?是否有一种“标准方式”来解析:Java中的空白URL?

 try { 
      URL url; 
      url = new URL(docurl); 
      docuri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null); 
     } catch (MalformedURLException e) { 
       e.printStackTrace(); 
     } catch (URISyntaxException e) { 
      e.printStackTrace(); 
     } 
+1

'about:blank`本身是标准吗? – Mehrdad 2011-02-17 06:15:55

回答

2

问题是“约”协议没有一个有效的处理程序。

我JRE6安装有效的处理程序在rt.jar中

sun/net/www/protocol/ftp/Handler.class 
sun/net/www/protocol/gopher/Handler.class 
sun/net/www/protocol/http/NegotiateCallbackHandler.class 
sun/net/www/protocol/mailto/Handler.class 
sun/net/www/protocol/netdoc/Handler.class 
sun/net/www/protocol/http/Handler.class 
sun/net/www/protocol/jar/Handler.class 
sun/net/www/protocol/file/Handler.class 

您可以按以下配方在 ​​

0

让自己的处理类你可以解析此类URL与java.net.URI被发现

或者,我写了一个Java URL解析库,提供了一个更一般的解决方案:galimatias

相关问题