正在获取未处理的异常类型格式错误的url异常



我对java还很陌生,实际上我刚刚开始学习它我试着做一个练习,练习是阅读网页的前五行首先,我写了这个代码:

import java.io.* ;
import java.net.URL ;
class testcode {
    public static void main(String[] args) throws Exception {
        URL address = new URL("http://www.yahoo.com/") ;
        InputStream is = address.openStream() ;
        InputStreamReader isr = new InputStreamReader(is) ;
        BufferedReader reader = new BufferedReader(isr) ;
        String line = reader.readLine() ;
    }
}

但是,当我通过Eclipse运行这段代码时,我得到的是:

Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at test.testcode.main(testcode.java:10)

为什么会发生这种事!?

当然,当我不把抛出异常部分放在开头时,我会得到格式错误的url异常!

附言:我的网络连接很好!

有人能帮我解释一下为什么会发生这种事吗?我有一个很好的c++背景,所以可以尽可能深入地解释:D

您的程序似乎无法连接到URL。你在使用互联网代理吗?如果是,请确保您的程序已相应配置。一种方法是使用这个代码:

System.setProperty("http.proxyHost", "proxy.mydomain.com");
System.setPropery("http.proxyPort", "8080");

最新更新