urlconnection.connect()和url.openconnection()的区别

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:54:30
根据URL建立连接
URL u;
URLConnection uc = u.openConnection();
之后有没有必要加 uc.connect()?

u.openConnection()和uc.connect()区别在哪里?什么情况一定要加uc.connect()呢?

ps:不要拿api来糊弄我 我也有查 诚恳期待高手赐教!!拜谢!
谢谢一楼的答案 但是我没有用connect()方法一样可以建立连接,也能读入数据 那加了有什么好处呢?有什么具体的区别?

urlconnection.connect()方法是抽象的;
打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接)。
如果在已打开连接(此时 connected 字段的值为 true)的情况下调用 connect 方法,则忽略该调用。

URLConnection 对象经历两个阶段:首先创建对象,然后建立连接。在创建对象之后,建立连接之前,可指定各种选项(例如,doInput 和 UseCaches)。连接后再进行设置就会发生错误。连接后才能进行的操作(例如 getContentLength),如有必要,将隐式执行连接。

url.openconnection();方法原形:
public URLConnection openConnection()

返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
每次调用此 URL 的协议处理程序的 openConnection 方法都打开一个新的连接。

如果 URL 的协议(例如,HTTP 或 JAR)存在属于以下包或其子包之一的公共、专用 URLConnection 子类:java.lang、java.io、java.util、java.net,返回的连接将为该子类的类型。例如,对于 HTTP,将返回 HttpURLConnection,对于 JAR,将返回 JarURLConnection。

可以看出:
url对象用openconnection()打开连接;获得URLConnection类对象,再用URLConnection类对象的connect()方法进行连接