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.tw");       

         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
廣告