Java 教程
- Java - 首頁
- Java - 概述
- Java - 歷史
- Java - 特性
- Java 與 C++
- JVM - Java 虛擬機器
- Java - JDK 與 JRE 與 JVM
- Java - Hello World 程式
- Java - 環境搭建
- Java - 基本語法
- Java - 變數型別
- Java - 資料型別
- Java - 型別轉換
- Java - Unicode 系統
- Java - 基本運算子
- Java - 註釋
- Java - 使用者輸入
- Java - 日期和時間
Java 控制語句
- Java - 迴圈控制
- Java - 決策制定
- Java - If-else
- Java - Switch
- Java - For 迴圈
- Java - For-Each 迴圈
- Java - While 迴圈
- Java - do-while 迴圈
- Java - Break
- Java - Continue
面向物件程式設計
- Java - OOPs 概念
- Java - 物件和類
- Java - 類屬性
- Java - 類方法
- Java - 方法
- Java - 變數作用域
- Java - 建構函式
- Java - 訪問修飾符
- Java - 繼承
- Java - 聚合
- Java - 多型
- Java - 重寫
- Java - 方法過載
- Java - 動態繫結
- Java - 靜態繫結
- Java - 例項初始化塊
- Java - 抽象
- Java - 封裝
- Java - 介面
- Java - 包
- Java - 內部類
- Java - 靜態類
- Java - 匿名類
- Java - 單例類
- Java - 包裝類
- Java - 列舉
- Java - 列舉建構函式
- Java - 列舉字串
Java 內建類
Java 檔案處理
Java 錯誤和異常
- Java - 異常
- Java - try-catch 塊
- Java - try-with-resources
- Java - 多重捕獲塊
- Java - 巢狀 try 塊
- Java - Finally 塊
- Java - throw 異常
- Java - 異常傳播
- Java - 內建異常
- Java - 自定義異常
Java 多執行緒
- Java - 多執行緒
- Java - 執行緒生命週期
- Java - 建立執行緒
- Java - 啟動執行緒
- Java - 執行緒連線
- Java - 執行緒命名
- Java - 執行緒排程器
- Java - 執行緒池
- Java - 主執行緒
- Java - 執行緒優先順序
- Java - 守護執行緒
- Java - 執行緒組
- Java - 關閉鉤子
Java 同步
Java 網路
- Java - 網路
- Java - 套接字程式設計
- Java - URL 處理
- Java - URL 類
- Java - URLConnection 類
- Java - HttpURLConnection 類
- Java - Socket 類
- Java - 泛型
Java 集合
Java 介面
Java 資料結構
Java 集合演算法
高階 Java
- Java - 命令列引數
- Java - Lambda 表示式
- Java - 傳送電子郵件
- Java - Applet 基礎
- Java - Javadoc 註釋
- Java - 自動裝箱和拆箱
- Java - 檔案不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 檔案
- Java - 私有介面方法
- Java - 內部類菱形運算子
- Java - 多解析度影像 API
- Java - 集合工廠方法
- Java - 模組系統
- Java - Nashorn JavaScript
- Java - Optional 類
- Java - 方法引用
- Java - 函式式介面
- Java - 預設方法
- Java - Base64 編碼解碼
- Java - Switch 表示式
- Java - Teeing 收集器
- Java - 微基準測試
- Java - 文字塊
- Java - 動態 CDS 歸檔
- Java - Z 垃圾回收器 (ZGC)
- Java - 空指標異常
- Java - 打包工具
- Java - 密封類
- Java - 記錄類
- Java - 隱藏類
- Java - 模式匹配
- Java - 緊湊數字格式化
- Java - 垃圾回收
- Java - JIT 編譯器
Java 雜項
- Java - 遞迴
- Java - 正則表示式
- Java - 序列化
- Java - 字串
- Java - 程序 API 改進
- Java - 流 API 改進
- Java - 增強的 @Deprecated 註解
- Java - CompletableFuture API 改進
- Java - 流
- Java - 日期時間 Api
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 和框架
Java 類參考
- Java - Scanner
- Java - 陣列
- Java - 字串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用資源
Java - URL 類
什麼是 URL?
URL 代表統一資源定位符,表示 全球資訊網 上的資源,例如 網頁 或 FTP 目錄。
本節將向您展示如何編寫與 URL 通訊的 Java 程式。URL 可以分解成以下幾個部分:
protocol://host:port/path?query#ref
協議示例包括 HTTP、HTTPS、FTP 和檔案。路徑也稱為檔名,主機也稱為許可權。
示例
以下是協議為 HTTP 的網頁的 URL:
https://www.amrood.com/index.htm?language=en#j2se
請注意,此 URL 未指定埠,在這種情況下,將使用協議的預設埠。對於 HTTP,預設埠為 80。
Java URL 類
URL 類是 java.net 包的一部分。URL 類表示統一資源定位符 (URL)。其中,URL 用於識別線上資源(例如:網頁、網頁中使用的影像、影片、檔案等)。
URL 類提供了幾個建構函式和方法來建立、解析和操作 URL(或 URL 物件)。
URL 類宣告
public final class URL
extends Object
implements Serializable
URL 類建構函式
java.net.URL 類表示一個 URL,並有一套完整的用於在 Java 中操作 URL 的方法。
URL 類有幾個用於建立 URL 的建構函式,包括以下內容:
| 序號 | 建構函式和描述 |
|---|---|
| 1 | public URL(String protocol, String host, int port, String file) throws MalformedURLException 透過組合給定的部分建立一個 URL。 |
| 2 | public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException 透過組合給定的部分以及在指定上下文中指定的處理程式來建立一個 URL。 |
| 3 | public URL(String protocol, String host, String file) throws MalformedURLException 與上一個建構函式相同,只是使用了給定協議的預設埠。 |
| 4 | public URL(String url) throws MalformedURLException 從給定的字串建立一個 URL。 |
| 5 | public URL(URL context, String url) throws MalformedURLException 透過解析 URL 和字串引數組合建立一個 URL。 |
| 6 | public URL(URL context, String url, URLStreamHandler handler) throws MalformedURLException 透過解析 URL 和字串引數以及在指定上下文中指定的處理程式來建立一個 URL。 |
URL 類方法
URL 類包含許多用於訪問所表示的 URL 的各個部分的方法。URL 類中的一些方法包括以下內容:
| 序號 | 方法和描述 |
|---|---|
| 1 |
此方法比較此 URL 與另一個物件的相等性。 |
| 2 |
此方法返回 URL 的許可權。 |
| 3 |
此方法返回此 URL 的內容。 |
| 4 | public Object getContent(Class<?>[] classes) 此方法返回此 URL 的內容。 |
| 5 |
此方法返回 URL 協議的預設埠。 |
| 6 |
此方法返回 URL 的檔名。 |
| 7 |
此方法返回 URL 的主機。 |
| 8 |
此方法返回 URL 的路徑。 |
| 9 |
此方法返回 URL 的埠。 |
| 10 |
此方法返回 URL 的協議。 |
| 11 |
此方法返回 URL 的查詢部分。 |
| 12 |
此方法返回 URL 的引用部分。 |
| 13 |
此方法返回 URL 的 userInfo 部分。 |
| 14 |
此方法建立並返回一個適合雜湊表索引的整數。 |
| 15 | public URLConnection openConnection() 此方法返回一個 URLConnection 例項,該例項表示與 URL 引用的遠端物件的連線。 |
| 16 | public URLConnection openConnection(Proxy proxy) 此方法的作用與 openConnection() 相同,只是連線將透過指定的代理進行;不支援代理的協議處理程式將忽略代理引數並建立正常連線。 |
| 17 | public InputStream openStream() 此方法開啟到此 URL 的連線,並返回一個 InputStream 用於讀取該連線。 |
| 18 | public boolean sameFile(URL other) 此方法比較兩個 URL,不包括片段元件。 |
| 19 | public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac) 此方法設定應用程式的 URLStreamHandlerFactory。 |
| 20 | public String toExternalForm() 此方法構造並返回此 URL 的字串表示形式。 |
| 21 |
此方法構造並返回此 URL 的字串表示形式。 |
| 22 |
此方法返回與此 URL 等效的 URI。 |
java.lang.Object
URL 類的示例
以下 URLDemo 程式演示了 URL 的各個部分。在命令列上輸入 URL,URLDemo 程式輸出給定 URL 的每個部分。
// File Name : URLDemo.java
import java.io.IOException;
import java.net.URL;
public class URLDemo {
public static void main(String [] args) {
try {
URL url = new URL("https://tutorialspoint.tw/index.htm?language=en#j2se");
System.out.println("URL is " + url.toString());
System.out.println("protocol is " + url.getProtocol());
System.out.println("authority is " + url.getAuthority());
System.out.println("file name is " + url.getFile());
System.out.println("host is " + url.getHost());
System.out.println("path is " + url.getPath());
System.out.println("port is " + url.getPort());
System.out.println("default port is " + url.getDefaultPort());
System.out.println("query is " + url.getQuery());
System.out.println("ref is " + url.getRef());
} catch (IOException e) {
e.printStackTrace();
}
}
}
此程式的示例執行將產生以下結果:
輸出
URL is https://tutorialspoint.tw/index.htm?language=en#j2se protocol is https authority is www.tutorialspoint.com file name is /index.htm?language=en host is www.tutorialspoint.com path is /index.htm port is -1 default port is 443 query is language=en ref is j2se