Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络编程

Java 集合框架

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - URL openStream() 方法及示例



描述

Java URL openStream() 方法打开到此 URL 的连接,并返回一个用于从此连接读取的 InputStream。此方法是以下内容的简写形式:

openConnection().getInputStream()

声明

以下是 java.net.URL.openStream() 方法的声明

public final InputStream openStream()

参数

返回值

用于从 URL 连接读取的输入流。

异常

IOException - 如果发生 I/O 异常。

示例 1

以下示例演示了如何使用 Java URL openStream() 方法读取使用 https 协议的有效 url 的网站内容。在此示例中,我们创建了一个 URL 类的实例。接下来,我们使用 URL.openStream() 获取 url 指向的网站页面的内容,并打印相同的内容:

package com.tutorialspoint;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://tutorialspoint.com");       

         BufferedReader in = new BufferedReader(
         new InputStreamReader(url.openStream()));
         String urlString = "";
         String current;

         while((current = in.readLine()) != null) {
            urlString += current;
         }
         System.out.println(urlString);
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

让我们编译并运行以上程序,这将产生以下结果:

输出

<!DOCTYPE html><html lang="en"><head><title>Online Tutorials, Courses,...</body></html>

示例 2

以下示例演示了如何使用 Java URL openConnection() 方法处理有效 url。在此示例中,我们使用 http 协议创建了一个 URL 类的实例。接下来,我们使用 URL.openStream() 获取 url 指向的网站页面的内容,并打印相同的内容:

package com.tutorialspoint;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("http","www.tutorialspoint.com","/index.htm");
         
         BufferedReader in = new BufferedReader(
         new InputStreamReader(url.openStream()));
         String urlString = "";
         String current;

         while((current = in.readLine()) != null) {
            urlString += current;
         }
         System.out.println(urlString);
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

让我们编译并运行以上程序,这将产生以下结果:

输出

<!DOCTYPE html><html lang="en"><head><title>Online Tutorials, Courses,...</body></html>

示例 3

以下示例演示了如何使用 Java URL openConnection() 方法处理使用 file 协议的有效 url。在此示例中,我们创建了一个 URL 类的实例。接下来,我们使用 URL.openStream() 获取 url 指向的网站页面的内容,并打印相同的内容:

package com.tutorialspoint;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("file","www.tutorialspoint.com","/index.htm");
         
         BufferedReader in = new BufferedReader(
         new InputStreamReader(url.openStream()));
         String urlString = "";
         String current;

         while((current = in.readLine()) != null) {
            urlString += current;
         }
         System.out.println(urlString);
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

让我们编译并运行以上程序,这将产生以下结果:

输出

java.net.ConnectException: Connection timed out: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	....
java_url.htm
广告