从URL获取数据的几种方式

本文详细介绍了Java中URL类的openStream()与openConnection()方法的区别及应用场景。openStream()方法适用于简单读取文本且编码为ASCII的情况,而openConnection()则提供更灵活的配置选项,适合复杂场景。
摘要由CSDN通过智能技术生成
URLConnectionopenConnection()

Returns a URLConnection instance that represents a connection to the remote object referred to by the URL.

URLConnectionopenConnection(Proxy proxy)

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.

InputStreamopenStream() <最常用>

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()方法。

转载于:https://my.oschina.net/yuhangyes/blog/1944461

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值