如何解决java.net.MalformedURLException?

时间:2012-02-23 07:20:05

标签: android malformedurlexception

我收到此错误:

java.net.MalformedURLException: Protocol not found[java.lang.StringBuilder] 

执行以下行时:

url = new URL(urlString.toString());

urlString存储以下值:

http://maps.google.com/maps?f=d&hl=en&saddr=25.04202,121.534761&daddr=25.05202,121.554761&ie=UTF8&0&om=0&output=kml

导致此异常的原因是什么?

4 个答案:

答案 0 :(得分:6)

更改后,您可能无法清理
url = new URL( urlString );

url = new URL(urlString.toString());

您应该记录传递给URL构造函数的参数的值。 这不是你认为应该的。

urlString将以java.lang.StringBuilder @的形式打印一个值 因此,如果你试图建立一个url,就抛出异常。

但是使用String会打印stringbuilder构建的内容字符串的值。

答案 1 :(得分:3)

以下是异常处理的示例...

String urlString = "https://www.example.com/";
URL url = null;

// handle Exception
try {
    url = new URL(urlString);
} catch (MalformedURLException e) {
    System.out.println("The URL is not valid.");
    System.out.println(e.getMessage());
}

// print
if (url != null) {
    System.out.println(url.toString());
}

答案 2 :(得分:0)

如果网络防火墙阻止该URL,您也可以获得此异常。

答案 3 :(得分:0)

用放置在服务器instedof html上的php文件地址替换url