我的问题是如何解析协议不同的网址?
String str = "olqmeeting://192.168.43.55/uam/meeting/meeting.php?id=A72U5AF9";
URL url = new URL(str);
答案 0 :(得分:1)
您可以使用URI
类来解析这些网址。它可以工作......虽然你只能在URL上进行文本操作。
如果您希望URL
能够工作(并且能够“连接”到资源),那么您需要实现并配置一个URLStreamHandlerFactory
(最低限度地)了解URL的协议以及如何处理它。
(如果在创建URLStreamHandlerFactory
对象时没有显式提供非空URL
,构造函数将尝试查找URL协议的默认值。如果不能这样做,你得到一个MalformedURLException
。)
答案 1 :(得分:0)
URL有其他构造函数,您可以在其中定义协议
URL(String protocol, String host, int port, String file)
Creates a URL object from the specified protocol, host, port number, and file.
URL(String protocol, String host, int port, String file, URLStreamHandler handler)
Creates a URL object from the specified protocol, host, port number, file, and handler.
URL(String protocol, String host, String file)
Creates a URL from the specified protocol name, host name, and file name.
最终您甚至可以使用.set()
方法,但它受到保护,因此您需要实现新的自定义网址类