W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.net.URLStreamHandler
public abstract class URLStreamHandler
extends Object
抽象類 URLStreamHandler 是所有流協(xié)議處理程序的公共超類。 流協(xié)議處理程序知道如何為特定協(xié)議類型(例如 http 或 https)建立連接。
在大多數(shù)情況下,URLStreamHandler 子類的實(shí)例不是由應(yīng)用程序直接創(chuàng)建的。 相反,在構(gòu)造 URL 時(shí)第一次遇到協(xié)議名稱時(shí),會(huì)自動(dòng)加載適當(dāng)?shù)牧鲄f(xié)議處理程序。
構(gòu)造函數(shù) | 描述 |
---|---|
URLStreamHandler() |
修飾符和類型 | 方法 | 描述 |
---|---|---|
protected boolean | equals(URL u1, URL u2) | 提供默認(rèn)的 equals 計(jì)算。 |
protected int | getDefaultPort() | 返回此處理程序解析的 URL 的默認(rèn)端口。 |
protected InetAddress | getHostAddress(URL u) | 獲取我們主機(jī)的 IP 地址。 |
protected int | hashCode(URL u) | 提供默認(rèn)的哈希計(jì)算。 |
protected boolean | hostsEqual(URL u1, URL u2) | 比較兩個(gè) URL 的主機(jī)組件。 |
protected abstract URLConnection | openConnection(URL u) | 打開(kāi)與 URL 參數(shù)引用的對(duì)象的連接。 |
protected URLConnection | openConnection(URL u, Proxy p) | 與 openConnection(URL) 相同,只是連接將通過(guò)指定的代理進(jìn)行; 不支持代理的協(xié)議處理程序?qū)⒑雎源韰?shù)并建立正常連接。 |
protected void | parseURL(URL u, String spec, int start, int limit) | 將 URL 的字符串表示形式解析為 URL 對(duì)象。 |
protected boolean | sameFile(URL u1, URL u2) | 比較兩個(gè) url 以查看它們是否引用同一個(gè)文件,即具有相同的協(xié)議、主機(jī)、端口和路徑。 |
protected void | setURL(URL u, String protocol, String host, int port, String file, String ref) | 已棄用。 使用 setURL(URL, String, String, int, String, String, String, String); |
protected void | setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) | 將 URL 參數(shù)的字段設(shè)置為指示的值。 |
protected String | toExternalForm(URL u) | 將特定協(xié)議的 URL 轉(zhuǎn)換為字符串。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public URLStreamHandler()
protected abstract URLConnection openConnection(URL u) throws IOException
打開(kāi)與 URL 參數(shù)引用的對(duì)象的連接。 此方法應(yīng)被子類覆蓋。
如果對(duì)于處理程序的協(xié)議(例如 HTTP 或 JAR),存在屬于以下包之一或其子包之一的公共專用 URLConnection 子類:java.lang、java.io、java.util、java.net、 返回的連接將屬于該子類。 例如,對(duì)于 HTTP,將返回一個(gè) HttpURLConnection,對(duì)于 JAR,將返回一個(gè) JarURLConnection。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 此連接到的 URL。 |
返回:
URL 的 URLConnection 對(duì)象。
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果在打開(kāi)連接時(shí)發(fā)生 I/O 錯(cuò)誤。 |
protected URLConnection openConnection(URL u, Proxy p) throws IOException
與 openConnection(URL) 相同,只是連接將通過(guò)指定的代理進(jìn)行; 不支持代理的協(xié)議處理程序?qū)⒑雎源韰?shù)并建立正常連接。 調(diào)用此方法會(huì)搶占系統(tǒng)的默認(rèn) ProxySelector 設(shè)置。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 此連接到的 URL。 |
p | 建立連接的代理。 如果需要直接連接,則應(yīng)指定 Proxy.NO_PROXY。 |
返回:
URL 的 URLConnection 對(duì)象。
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果在打開(kāi)連接時(shí)發(fā)生 I/O 錯(cuò)誤。 |
IllegalArgumentException | 如果 u 或 p 為空,或者 p 的類型錯(cuò)誤。 |
UnsupportedOperationException | 如果實(shí)現(xiàn)協(xié)議的子類不支持該方法。 |
protected void parseURL(URL u, String spec, int start, int limit)
將 URL 的字符串表示形式解析為 URL 對(duì)象。
如果有任何繼承的上下文,那么它已經(jīng)被復(fù)制到 URL 參數(shù)中。
URLStreamHandler 的 parseURL 方法解析字符串表示,就好像它是一個(gè) http 規(guī)范一樣。 大多數(shù) URL 協(xié)議系列都有類似的解析。 具有不同語(yǔ)法的協(xié)議的流協(xié)議處理程序必須覆蓋此例程。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 接收規(guī)范解析結(jié)果的 URL。 |
spec | 表示必須解析的 URL 的字符串。 |
start | 開(kāi)始解析的字符索引。 這只是在指定協(xié)議名稱確定的“:”(如果有的話)之后。 |
limit | 停止解析的字符位置。 這是字符串的結(jié)尾或“#”字符的位置(如果存在)。 尖號(hào)后面的所有信息都表示一個(gè)錨點(diǎn)。 |
protected int getDefaultPort()
返回此處理程序解析的 URL 的默認(rèn)端口。 此方法旨在被具有默認(rèn)端口號(hào)的處理程序覆蓋。
返回:
此處理程序解析的 URL 的默認(rèn)端口。
protected boolean equals(URL u1, URL u2)
提供默認(rèn)的等于計(jì)算。 可能被對(duì) equals() 有不同要求的其他協(xié)議的處理程序覆蓋。 此方法要求它的任何參數(shù)都不為空。 僅由 java.net.URL 類調(diào)用它這一事實(shí)保證了這一點(diǎn)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u1 | 一個(gè) URL 對(duì)象 |
u2 | 一個(gè) URL 對(duì)象 |
返回:
如果兩個(gè) url 被認(rèn)為相等,則為 true。即它們指的是同一個(gè)文件中的同一個(gè)片段。
protected int hashCode(URL u)
提供默認(rèn)的哈希計(jì)算。 可能被對(duì) hashCode 計(jì)算有不同要求的其他協(xié)議的處理程序覆蓋。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 一個(gè) URL 對(duì)象 |
返回:
適合哈希表索引的 int
protected boolean sameFile(URL u1, URL u2)
比較兩個(gè) url 以查看它們是否引用同一個(gè)文件,即具有相同的協(xié)議、主機(jī)、端口和路徑。 此方法要求它的任何參數(shù)都不為空。 這是因?yàn)樗槐?java.net.URL 類間接調(diào)用的事實(shí)保證。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u1 | 一個(gè) URL 對(duì)象 |
u2 | 一個(gè) URL 對(duì)象 |
返回:
如果 u1 和 u2 引用同一個(gè)文件,則為 true
protected InetAddress getHostAddress(URL u)
獲取我們主機(jī)的 IP 地址。 空主機(jī)字段或 DNS 故障將導(dǎo)致返回空值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 一個(gè) URL 對(duì)象 |
返回:
表示主機(jī) IP 地址的 InetAddress。
protected boolean hostsEqual(URL u1, URL u2)
比較兩個(gè) URL 的主機(jī)組件。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u1 | 第一個(gè)要比較的主機(jī)的 URL |
u2 | 要比較的第二個(gè)主機(jī)的 URL |
返回:
當(dāng)且僅當(dāng)它們相等時(shí)為true,否則為false。
protected String toExternalForm(URL u)
將特定協(xié)議的 URL 轉(zhuǎn)換為字符串。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 網(wǎng)址。 |
返回:
URL 參數(shù)的字符串表示形式。
protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
將 URL 參數(shù)的字段設(shè)置為指示的值。 只有從 URLStreamHandler 派生的類才能使用此方法來(lái)設(shè)置 URL 字段的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 要修改的 URL。 |
protocol | 協(xié)議名稱。 |
host | URL 的遠(yuǎn)程主機(jī)值。 |
port | 遠(yuǎn)程機(jī)器上的端口。 |
authority | URL 的權(quán)限部分。 |
userInfo | URL 的 userInfo 部分。 |
path | URL 的路徑組件。 |
query | URL 的查詢部分。 |
ref | 參考資料。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
SecurityException | 如果 URL 的協(xié)議處理程序與此不同 |
@Deprecated protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
已棄用。 使用 setURL(URL, String, String, int, String, String, String, String);
將 URL 參數(shù)的字段設(shè)置為指示的值。 只有從 URLStreamHandler 派生的類才能使用此方法來(lái)設(shè)置 URL 字段的值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 要修改的 URL。 |
protocol | 協(xié)議名稱。 自 1.2 起,該值被忽略。 |
host | URL 的遠(yuǎn)程主機(jī)值。 |
port | 遠(yuǎn)程機(jī)器上的端口。 |
file | 文件。 |
ref | 參考資料。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
SecurityException | 如果 URL 的協(xié)議處理程序與此不同 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: