36

我在理解类中connect()方法的含义时遇到了问题URLConnection。在下面的代码中,如果我使用该connect()方法,如果我不使用它,我会得到相同的结果。

为什么(或何时)需要使用它?

URL u = new URL("http://example.com");
HttpURLConnection conn = (HttpURLConnection) u.openConnection();

conn.connect();//with or without it I have the same result

InputStream in = conn.getInputStream();
int b;
while ((b = in.read()) != -1) {
 System.out.write(b);
}
4

2 回答 2

36
HttpURLConnection conn = (HttpURLConnection) u.openConnection();

只创建一个对象

connect()方法被调用conn.getInputStream();

于 2014-05-14T00:44:11.763 回答
35

您并不总是需要显式调用 connect 方法来启动连接。

如有必要,依赖于连接的操作(如getInputStreamgetOutputStream等)将隐式执行连接。

这是oracle文档链接

于 2013-09-11T13:07:39.423 回答