直接从 URL 读取

成功创建URL之后,可以调用URLopenStream()方法以获取可从中读取 URL 内容的流。 openStream()方法返回java.io.InputStream对象,因此从 URL 读取与从 Importing 流读取一样容易。

以下小型 Java 程序使用openStream()获取 URL http://www.oracle.com/上的 Importing 流。然后,它在 Importing 流上打开BufferedReader并从BufferedReader进行读取,从而从 URL 进行读取。读取的所有内容都会复制到标准输出流中:

import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {

        URL oracle = new URL("http://www.oracle.com/");
        BufferedReader in = new BufferedReader(
        new InputStreamReader(oracle.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
            System.out.println(inputLine);
        in.close();
    }
}

运行该程序时,您应该会看到,在命令窗口中滚动浏览,HTML 命令和位于http://www.oracle.com/的 HTML 文件中的文本内容。或者,该程序可能会挂起,或者您可能会看到异常堆栈跟踪。如果发生后两个事件中的任何一个,则您可能必须设置代理主机,以便程序可以找到 Oracle 服务器。