0

次のコードを考えてみましょう。私はurl.openConnection()を行っているので、connection.connectは冗長ですか?はいの場合、なぜ .connect() メソッドがあるのでしょうか? 接続を閉じた後に再接続するためですか?

URL url;
        url = new URL(
                "http://api.longurl.org/v2/expand?format=json&title=1&user-agent=TwitterProject&url="
                        + someURL);
        HttpURLConnection connection;
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setDoInput(true);
        connection.connect();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                connection.getInputStream()));
        String line = null;
        String full = "";
        while ((line = in.readLine()) != null) {
            full = full + line;
        }
        jsonresponse = JSONObject.fromObject(full);
4

1 に答える 1

2

public abstract void connect()はIOExceptionをスローします

このような接続がまだ確立されていない場合は、このURLによって参照されるリソースへの通信リンクを開きます。接続がすでに開かれているときにconnectメソッドが呼び出された場合(値がtrueの接続フィールドで示されます)、呼び出しは無視されます。

あなたの場合、呼び出しは無視されます。

 connection = (HttpURLConnection) url.openConnection();// already established connection.
于 2013-03-13T14:25:19.233 に答える