Java 要测试url的字符无效

Java 要测试url的字符无效,java,Java,这里我必须从客户那里获取输入URI。 基本URL为- 因此,最终URL将是-https://mydomain.com/router/ 在这里,我必须使用- java.net.URL url = new java.net.URL(finalURL); 但我无法测试失败案例。我尝试使用所有特殊字符,但无法获得格式错误的URL异常 下面是我尝试使用的URI- 维也纳恩斯特哈佩尔球场 &&& '";'><()!~`5%=-_}{}[]\||| ? ?&&a

这里我必须从客户那里获取输入URI。 基本URL为-

因此,最终URL将是-https://mydomain.com/router/

在这里,我必须使用-

java.net.URL url = new java.net.URL(finalURL);
但我无法测试失败案例。我尝试使用所有特殊字符,但无法获得格式错误的URL异常

下面是我尝试使用的URI-

 维也纳恩斯特哈佩尔球场 &&& '";'><()!~`5%=-_}{}[]\||| ? ?&& / ?

维也纳恩斯特哈佩尔球场 &&& '“;”>触发
异常的一种方法是

String finalURL = "Like this";
try {
    java.net.URL url = new java.net.URL(finalURL);
} catch (MalformedURLException e) {
    e.printStackTrace();
}
输出为(按要求)

java.net.MalformedURLException:没有协议:像这样
在java.net.URL.(URL.java:586)
在java.net.URL.(URL.java:483)
位于java.net.URL。(URL.java:432)
位于com.stackoverflow.Main.Main(Main.java:15)

您可以使用
URI
类而不是
URL
;它在验证方面会更好当您打开连接时会发生什么?@JunedAhsan这里我只需要进行格式验证。我不想打开到URL的连接。
java.net.MalformedURLException: no protocol: Like this
 at java.net.URL.<init>(URL.java:586)
 at java.net.URL.<init>(URL.java:483)
 at java.net.URL.<init>(URL.java:432)
 at com.stackoverflow.Main.main(Main.java:15)