为什么java的URL类不能识别某些协议?

tri*_*ity 27 java url protocols malformedurlexception

URL u =新URL("telnet://route-server.exodus.net");

这条线正在产生:

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

我遇到与以"news://"开头的其他网址类似的问题

这些是从ODP中提取的URL,所以我不明白为什么会出现这样的例外情况.

Ben*_*n S 44

问题

Java抛出一个MalformedURLException因为它找不到URLStreamHandler该协议.检查构造函数的javadocs以获取详细信息.

摘要:

由于URL该类有一个openConnection方法,因此URL类会检查以确保Java知道如何打开正确协议的连接.如果没有URLStreamHandler针对该协议,Java会拒绝创建一个URL以便在您尝试调用时避免失败openConnection.

URI如果您不打算在Java中打开这些协议的连接,则应该使用该类.

  • 多谢。URI 类是我的解决方案。 (2认同)