Returns a URLConnection instance that represents a connection to the remote object referred to by the URL.
Same as openConnection(), except that the connection will be made through the specified proxy; Protocol handlers that do not support proxing will ignore the proxy parameter and make a normal connection.
Opens a connection to this URL and returns an InputStream for reading from that connection.
其实底层的实现,openStream()方法的实现也是调用了 openConnection生成一个 URLConnection 对象,然后再通过这个对象调用的 getInputStream()方法的,《Java网络编程》说“如果希望与服务器直接通信,应当使用这个方法”。这样显式生成了·URLConnection对象的好处应该是可以调用这个对象的一些方法,以及获取它的一些字段吧。因此,当你确定 URL 指向的绝对是文本且编码格式为ASCII时,使用 openStream()方法比较方便,除此之外,就用 openConnection()方法吧。
下面是url.openStream()的源码:
public final InputStream openStream() throws java.io.IOException {
return openConnection().getInputStream();
}
他也是先通过openConnection()方法获取URLConnection对象,然后调用getInputStream()方法。