说明
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.yxjc123;
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://www.yxjc123.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
以下示例显示了有效 url 的 Java URL openConnection() 方法的用法。在此示例中,我们使用 http 协议创建 URL 类的实例。接下来,我们使用 URL.openStream() 获取 url 指向的网站页面的内容并打印相应的内容 -
package com.yxjc123;
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.yxjc123.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
以下示例显示了有效 url 的 Java URL openConnection() 方法的用法与文件协议。在此示例中,我们将创建 URL 类的实例。接下来,我们使用 URL.openStream() 获取 url 指向的网站页面的内容并打印相应的内容 -
package com.yxjc123;
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.yxjc123.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)
....