Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類引用

Java 有用資源

Java - URL openConnection() 方法及示例



描述

Java URL openConnection() 方法返回一個 URLConnection 例項,該例項表示與 URL 引用的遠端物件的連線。每次呼叫此 URL 的協議處理程式的 URLStreamHandler.openConnection(URL) 方法時,都會建立一個新的 URLConnection 例項。當呼叫 URLConnection.connect() 方法時,URLConnection 例項建立實際的網路連線。對於 HTTP 協議,將返回一個 HttpURLConnection,對於 JAR,將返回一個 JarURLConnection。

宣告

以下是 java.net.URL.openConnection() 方法的宣告

public URLConnection openConnection()

引數

返回值

一個連線到 URL 的 URLConnection。

異常

IOException − 如果發生 I/O 異常。

示例 1

以下示例演示瞭如何使用 Java URL openConnection() 方法處理具有 https 協議的有效 url。在此示例中,我們建立了一個 URL 類的例項。現在使用 openConnection() 方法,我們獲取了 URLConnection 物件。接下來,我們使用 URLConnection.getInputStream() 獲取 url 指向的網站頁面的內容,並列印相同的內容 -

package com.tutorialspoint;

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

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://tutorialspoint.tw");
         URLConnection urlConnection = url.openConnection();
         HttpURLConnection connection = null;
         if(urlConnection instanceof HttpURLConnection) {
            connection = (HttpURLConnection) urlConnection;
         }else {
            System.out.println("Please enter an HTTP URL.");
            return;
         }

         BufferedReader in = new BufferedReader(
         new InputStreamReader(connection.getInputStream()));
         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 類的例項。現在使用 openConnection() 方法,我們獲取了 URLConnection 物件。接下來,我們使用 URLConnection.getInputStream() 獲取 url 指向的網站頁面的內容,並列印相同的內容 -

package com.tutorialspoint;

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

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("http","www.tutorialspoint.com","/index.htm");
         URLConnection urlConnection = url.openConnection();
         HttpURLConnection connection = null;
         if(urlConnection instanceof HttpURLConnection) {
            connection = (HttpURLConnection) urlConnection;
         }else {
            System.out.println("Please enter an HTTP URL.");
            return;
         }

         BufferedReader in = new BufferedReader(
         new InputStreamReader(connection.getInputStream()));
         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 類的例項。現在使用 openConnection() 方法,我們獲取了 URLConnection 物件。接下來,我們使用 URLConnection.getInputStream() 獲取 url 指向的網站頁面的內容。由於協議不是 http 或 https,因此程式將列印一條訊息 請輸入 HTTP URL。 並終止,如下所示 -

package com.tutorialspoint;

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

public class UrlDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("file","www.tutorialspoint.com","/index.htm");
         URLConnection urlConnection = url.openConnection();
         HttpURLConnection connection = null;
         if(urlConnection instanceof HttpURLConnection) {
            connection = (HttpURLConnection) urlConnection;
         }else {
            System.out.println("Please enter an HTTP URL.");
            return;
         }

         BufferedReader in = new BufferedReader(
         new InputStreamReader(connection.getInputStream()));
         String urlString = "";
         String current;

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

讓我們編譯並執行上述程式,這將產生以下結果 -

輸出

Please enter an HTTP URL.
java_url.htm
廣告