|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.net
类 URLStreamHandler
java.lang.Object java.net.URLStreamHandler
-
public abstract class URLStreamHandler
- extends Object
抽象类 URLStreamHandler
是所有流协议处理程序的通用超类。流协议处理程序知道如何为特定的协议类型,如 http
、ftp
或 gopher
进行连接。
在大多数情况下,URLStreamHandler
子类的实例都不是由应用程序直接创建的。而是在构造 URL
过程中第一次遇到协议名称时,自动加载适当的流协议处理程序。
- 从以下版本开始:
- JDK1.0
- 另请参见:
-
URL.URL(java.lang.String, java.lang.String, int, java.lang.String)
构造方法摘要 | |
---|---|
URLStreamHandler() |
方法摘要 | |
---|---|
protected boolean |
equals(URL u1, URL u2) 提供默认的 equals 计算。 |
protected int |
getDefaultPort() 返回由该处理程序解析的 URL 的默认端口。 |
protected InetAddress |
getHostAddress(URL u) 获得主机的 IP 地址。 |
protected int |
hashCode(URL u) 提供默认的哈希计算。 |
protected boolean |
hostsEqual(URL u1, URL u2) 比较两个 URL 的主机组件。 |
protected abstract URLConnection |
openConnection(URL u) 打开一个到 URL 参数引用的对象的连接。 |
protected URLConnection |
openConnection(URL u, Proxy p) 与 openConnection(URL) 相同,不同点在于:通过指定的代理进行连接;不支持代理方式的协议处理程序将忽略该代理参数并进行正常的连接。 |
protected void |
parseURL(URL u, String spec, int start, int limit) 将 URL 的字符表示形式解析为 URL 对象。 |
protected boolean |
sameFile(URL u1, URL u2) 比较两个 url 以确定它们是否引用相同的文件(即具有相同的协议、主机、端口和路径)。 |
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 参数的字段设置为指示的值。 |
protected String |
toExternalForm(URL u) 将特定协议的 URL 转换为 String 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
URLStreamHandler
public URLStreamHandler()
方法详细信息 |
---|
openConnection
protected abstract URLConnection openConnection(URL u) throws IOException
-
打开一个到
URL
参数引用的对象的连接。此方法应该由子类重写。如果对应处理程序的协议(例如,HTTP 或 JAR)存在属于以下包或其子包之一的公共、专用 URLConnection 子类:java.lang、java.io、java.util、java.net,返回的连接将为该子类的类型。例如,对于 HTTP,将返回 HttpURLConnection,对于 JAR,将返回 JarURLConnection。
-
- 参数:
-
u
- 所连接的 URL。 - 返回:
-
对应于
URL
的URLConnection
对象。 - 抛出:
-
IOException
- 如果打开连接时发生 I/O 错误。
openConnection
protected URLConnection openConnection(URL u, Proxy p) throws IOException
- 与 openConnection(URL) 相同,不同点在于:通过指定的代理进行连接;不支持代理方式的协议处理程序将忽略该代理参数并进行正常的连接。 调用该方法会提示系统的默认 ProxySelector 设置。
-
- 参数:
-
u
- 所连接的 URL。 -
p
- 进行连接所通过的代理。如果希望使用直接连接,则应指定 Proxy.NO_PROXY。 - 返回:
-
对应于
URL
的URLConnection
对象。 - 抛出:
-
IOException
- 如果打开连接时发生 I/O 错误。 -
IllegalArgumentException
- 如果 u 或 p 为 null,或者 p 包含错误的类型。 -
UnsupportedOperationException
- 如果实现该协议的子类不支持该方法。 - 从以下版本开始:
- 1.5
parseURL
protected void parseURL(URL u, String spec, int start, int limit)
-
将
URL
的字符表示形式解析为URL
对象。如果有任何继承的上下文,则已将其复制到
URL
参数中。URLStreamHandler
的parseURL
方法按照http
规范解析该字符串表示形式。多数 URL 协议家族的解析都很相似。具有不同语法的协议的流协议处理程序必须重写该例程。 -
- 参数:
-
u
- 用于接收解析规范的结果的URL
。 -
spec
- 代表必须解析的 URL 的String
。 -
start
- 解析开始处的字符索引。其只传递 ':
'(如果有一个),用来指定确定的协议名称。 -
limit
- 停止解析的字符位置。这是字符串的结束或 "#
" 字符位置(如果有)。井号之后的所有信息都指示一个定位点。
getDefaultPort
protected int getDefaultPort()
- 返回由该处理程序解析的 URL 的默认端口。具有默认端口号的处理程序应重写此方法。
-
- 返回:
-
由该处理程序解析的
URL
的默认端口。
equals
protected boolean equals(URL u1, URL u2)
- 提供默认的 equals 计算。它可能由其他协议所用的处理程序重写,这些协议对 equals() 有不同要求。该方法要求所有参数都不为 null。因为它只能由 java.net.URL 类调用,所以参数都不为 null,这一点可以得到保证。
-
- 参数:
-
u1
- URL 对象 -
u2
- URL 对象 - 返回:
- 如果两个 url 被视为相等(即它们引用的是同一文件中的相同片段),则返回 true。
hashCode
protected int hashCode(URL u)
- 提供默认的哈希计算。它可能由其他协议所用的处理程序重写,这些协议对 hashCode 计算有不同要求。
-
- 参数:
-
u
- URL 对象 - 返回:
- 适用于哈希表索引的 int
sameFile
protected boolean sameFile(URL u1, URL u2)
- 比较两个 url 以确定它们是否引用相同的文件(即具有相同的协议、主机、端口和路径)。该方法要求所有参数都不为 null。因为它只能由 java.net.URL 类间接调用,所以参数都不为 null,这一点可以得到保证。
-
- 参数:
-
u1
- URL 对象 -
u2
- URL 对象 - 返回:
- 如果 u1 和 u2 引用的是同一文件,则返回 true