public abstract class URLStreamHandler
extends Object
java.lang.Object | |
↳ | java.net.URLStreamHandler |
抽象类URLStreamHandler
是所有流协议处理程序的公共超类。 甲流协议处理程序知道如何使针对特定协议类型的连接,诸如http
, ftp
,或gopher
。
在大多数情况下, URLStreamHandler
子类的实例不是由应用程序直接创建的。 相反,在构建URL
时第一次遇到协议名称时,会自动加载相应的流协议处理程序。
Public constructors |
|
---|---|
URLStreamHandler() |
Protected methods |
|
---|---|
boolean |
equals(URL u1, URL u2) 提供默认的等值计算。 |
int |
getDefaultPort() 返回由此处理程序解析的URL的默认端口。 |
InetAddress |
getHostAddress(URL u) 获取我们的主机的IP地址。 |
int |
hashCode(URL u) 提供默认的哈希计算。 |
boolean |
hostsEqual(URL u1, URL u2) 比较两个URL的主机组件。 |
abstract URLConnection |
openConnection(URL u) 打开与 |
URLConnection |
openConnection(URL u, Proxy p) 与openConnection(URL)相同,但连接将通过指定的代理进行; 不支持代理的协议处理程序将忽略代理参数并建立正常连接。 |
void |
parseURL(URL u, String spec, int start, int limit) 将 |
boolean |
sameFile(URL u1, URL u2) 比较两个URL以查看它们是否引用相同的文件,即具有相同的协议,主机,端口和路径。 |
void |
setURL(URL u, String protocol, String host, int port, String file, String ref) 在API级别1中弃用此方法。使用setURL(URL,String,String,int,String,String,String,String); |
void |
setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) 将参数 |
String |
toExternalForm(URL u) 一个转换 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
boolean equals (URL u1, URL u2)
提供默认的等值计算。 对于对equals()有不同要求的其他协议,处理程序可能会超时。 此方法要求其参数都不为空。 这只能由java.net.URL类调用。
Parameters | |
---|---|
u1 |
URL : a URL object |
u2 |
URL : a URL object |
Returns | |
---|---|
boolean |
true if the two urls are considered equal, ie. they refer to the same fragment in the same file. |
int getDefaultPort ()
返回由此处理程序解析的URL的默认端口。 这个方法意味着由具有默认端口号的处理程序完成。
Returns | |
---|---|
int |
the default port for a URL parsed by this handler. |
InetAddress getHostAddress (URL u)
获取我们的主机的IP地址。 空的主机字段或DNS故障将导致空返回。
Parameters | |
---|---|
u |
URL : a URL object |
Returns | |
---|---|
InetAddress |
an InetAddress representing the host IP address. |
int hashCode (URL u)
提供默认的哈希计算。 对于hashCode计算有不同要求的其他协议,处理程序可能会超时。
Parameters | |
---|---|
u |
URL : a URL object |
Returns | |
---|---|
int |
an int suitable for hash table indexing |
boolean hostsEqual (URL u1, URL u2)
比较两个URL的主机组件。
Parameters | |
---|---|
u1 |
URL : the URL of the first host to compare |
u2 |
URL : the URL of the second host to compare |
Returns | |
---|---|
boolean |
true if and only if they are equal, false otherwise. |
URLConnection openConnection (URL u)
打开与URL
参数引用的对象的连接。 这个方法应该被子类覆盖。
如果对于处理程序的协议(如HTTP或JAR),则存在属于以下某个包或其子包之一的公共专用URLConnection子类:java.lang,java.io,java.util,java.net,返回的连接将是该子类的连接。 例如,对于HTTP,将返回HttpURLConnection,对于JAR,将返回JarURLConnection。
Parameters | |
---|---|
u |
URL : the URL that this connects to. |
Returns | |
---|---|
URLConnection |
a URLConnection object for the URL . |
Throws | |
---|---|
IOException |
if an I/O error occurs while opening the connection. |
URLConnection openConnection (URL u, Proxy p)
与openConnection(URL)相同,但连接将通过指定的代理进行; 不支持代理的协议处理程序将忽略代理参数并建立正常连接。 调用此方法会抢占系统的默认ProxySelector设置。
Parameters | |
---|---|
u |
URL : the URL that this connects to. |
p |
Proxy : the proxy through which the connection will be made. If direct connection is desired, Proxy.NO_PROXY should be specified. |
Returns | |
---|---|
URLConnection |
a URLConnection object for the URL . |
Throws | |
---|---|
IOException |
if an I/O error occurs while opening the connection. |
IllegalArgumentException |
if either u or p is null, or p has the wrong type. |
UnsupportedOperationException |
if the subclass that implements the protocol doesn't support this method. |
void parseURL (URL u, String spec, int start, int limit)
将 URL
的字符串表示形式解析为 URL
对象。
如果存在任何继承的上下文,则它已被复制到 URL
参数中。
parseURL
方法URLStreamHandler
解析字符串表示法,就好像它是http
规范一样。 大多数URL协议族都有类似的解析。 具有不同语法的协议的流协议处理程序必须覆盖此例程。
Parameters | |
---|---|
u |
URL : the URL to receive the result of parsing the spec. |
spec |
String : the String representing the URL that must be parsed. |
start |
int : the character index at which to begin parsing. This is just past the ': ' (if there is one) that specifies the determination of the protocol name. |
limit |
int : the character position to stop parsing at. This is the end of the string or the position of the "# " character, if present. All information after the sharp sign indicates an anchor. |
boolean sameFile (URL u1, URL u2)
比较两个URL以查看它们是否引用相同的文件,即具有相同的协议,主机,端口和路径。 此方法要求其参数都不为空。 这是由java.net.URL类间接调用的。
Parameters | |
---|---|
u1 |
URL : a URL object |
u2 |
URL : a URL object |
Returns | |
---|---|
boolean |
true if u1 and u2 refer to the same file |
void setURL (URL u, String protocol, String host, int port, String file, String ref)
此方法在API级别1中已弃用。
使用setURL(URL,String,String,int,String,String,String,String);
将URL
参数的字段设置为指示的值。 只有派生自URLStreamHandler的类应该能够在URL上调用set方法。
Parameters | |
---|---|
u |
URL : the URL to modify. |
protocol |
String : the protocol name. This value is ignored since 1.2. |
host |
String : the remote host value for the URL. |
port |
int : the port on the remote machine. |
file |
String : the file. |
ref |
String : the reference. |
Throws | |
---|---|
SecurityException |
if the protocol handler of the URL is different from this one |
void setURL (URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
将参数URL
的字段设置为指示的值。 只有派生自URLStreamHandler的类应该能够在URL上调用set方法。
Parameters | |
---|---|
u |
URL : the URL to modify. |
protocol |
String : the protocol name. |
host |
String : the remote host value for the URL. |
port |
int : the port on the remote machine. |
authority |
String : the authority part for the URL. |
userInfo |
String : the userInfo part of the URL. |
path |
String : the path component of the URL. |
query |
String : the query part for the URL. |
ref |
String : the reference. |
Throws | |
---|---|
SecurityException |
if the protocol handler of the URL is different from this one |
String toExternalForm (URL u)
一个转换 URL
特定协议到的 String
。
Parameters | |
---|---|
u |
URL : the URL. |
Returns | |
---|---|
String |
a string representation of the URL argument. |