URL u=new URL("telnet://route-server.exodus.net");
这条线正在生成:
java.net.MalformedURLException: unknown protocol: telnet
我在使用其他以“news://”开头的 URL 时也遇到了类似的问题
这些是从 ODP 中提取的 URL,所以我不明白为什么会出现这种异常..
最佳答案
问题
Java 抛出 MalformedURLException
因为它找不到该协议(protocol)的 URLStreamHandler
。查看javadocs详细的构造函数。
总结
由于 URL
类具有 openConnection
方法,因此 URL 类会检查以确保 Java 知道如何打开正确协议(protocol)的连接。如果没有该协议(protocol)的 URLStreamHandler
,Java 拒绝创建 URL
以在您尝试调用 openConnection
时避免失败。
解决方案
您可能应该使用 URI
如果您不打算在 Java 中打开这些协议(protocol)的连接,请使用类。
关于java - 为什么 Java 的 URL 类不能识别某些协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406518/