# 直接从 URL 读取

> 原文： [https://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html](https://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html)

成功创建`URL`后，可以调用`URL`的`openStream()`方法获取一个流，您可以从中读取 URL 的内容。 `openStream()`方法返回 [`java.io.InputStream`](https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html) 对象，因此从 URL 读取就像从输入流中读取一样简单。

以下小型 Java 程序使用`openStream()`在 URL `http://www.oracle.com/`上获取输入流。然后它在输入流上打开`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 文件中的文本内容。或者，程序可能会挂起，或者您可能会看到异常堆栈跟踪。如果后两个事件中的任何一个发生，您可能必须[设置代理主机](_setProxy.html)，以便程序可以找到 Oracle 服务器。