如何最佳地检查URL有效性

时间:2011-10-14 18:41:26

标签: java url

检查网址有效性的直接方法是简单地处理MalformedURLException例外:

try {
  URL base = new URL(SomeString);
}
catch (MalformedURLException e) {
  e.printStackTrace();
  // handles this in some way
}

但AFAIK使用异常来实现程序逻辑在概念上是不正确的(并且在运行时性能上可能更昂贵)。

另一方面,我不知道isValid(String url)

的Java方法

是否有更好的方法来检查网址的字符串有效性 ,不用 实例化网址对象(以及处理MalformedURLException)?

2 个答案:

答案 0 :(得分:3)

是的,写一个正则表达式来检查它。

Regular expression to match URLs in Java

答案 1 :(得分:2)

您可以将该功能移至实用程序方法:URLUtils.isValid(url),您可以从false返回catch。之后,如果您决定,可以切换到另一种方法。

例如,您可以使用commons-validator中的UrlValidator