A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1黑马币
谁能给介绍下URl类中openStream方法返回的InputStream到底指向什么 个人感觉是指向其子类 但无法看到其内部实现 谁能给说下

2 个回复

倒序浏览
这是别包装起来的 不对外部可见
回复 使用道具 举报
首先,这里给出一个示例代码:
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.net.URL;

  5. public class URLReader {

  6.         public static void main(String[] args) throws IOException {

  7.                 // 构建一个URL对象
  8.                 URL baidu = new URL("http://www.baidu.com");

  9.                 // 获取输入流,构造一个BufferedReader对象
  10.                 BufferedReader br = new BufferedReader(new InputStreamReader(
  11.                                 baidu.openStream()));

  12.                 String inputLine;
  13.                 // 循环读取并打印数据
  14.                 while ((inputLine = br.readLine()) != null) {
  15.                         System.out.println(inputLine);
  16.                 }
  17.                 // 关闭数据流
  18.                 br.close();

  19.         }
  20. }
复制代码


分析过程如下:
(1)URL(Uniform Resource Locator)统一资源定位器,它表示Internet上某一资源的地址。我们访问资源以文件的形式存储于某个地方(例如:网页、下载的软件等都是资源),通过网址可以访问获取。
(2)可以通过URL的openStream()方法读取指定的 WWW 资源
(3)URL对象完成初始化后,指向指定的资源位置,然后通过文件流的形式,进行读取等操作
(4)通过上面的例子分析,URL对象指向 www.baidu.com 根目录下,这个网址下对应着很多资源文件,默认的应该是其主页,我们通过流可以读取到其信息。

(5)上面是个人的一些认识,欢迎批评指针{:3_57:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马