- java.lang.Object
-
- java.net.URLStreamHandler
-
public abstract class URLStreamHandlerextends Object
抽象类URLStreamHandler
是所有流协议处理程序的通用超类。 流协议处理程序知道如何为特定协议类型建立连接,例如http
或https
。在大多数情况下,
URLStreamHandler
子类的实例不是由应用程序直接创建的。 而是在构造URL
时第一次遇到协议名称时,会自动加载相应的流协议处理程序。- 从以下版本开始:
- 1.0
- 另请参见:
-
URL(java.lang.String, java.lang.String, int, java.lang.String)
-
-
构造方法摘要
构造方法 构造器 描述 URLStreamHandler()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 弃用的方法 变量和类型 方法 描述 protected boolean
equals(URL u1, URL u2)
提供默认的等于计算。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
。
-
-
-
方法详细信息
-
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。 - 结果
- 一个
URLConnection
对象为URL
。 - 异常
-
IOException
- 如果在打开连接时发生I / O错误。
-
openConnection
protected URLConnection openConnection(URL u, Proxy p) throws IOException
- 参数
-
u
- 此连接的URL。 -
p
- 将通过其进行连接的代理。 如果需要直接连接,则应指定Proxy.NO_PROXY。 - 结果
- 一个
URLConnection
对象为URL
。 - 异常
-
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
参数中。该
parseURL
的方法URLStreamHandler
解析字符串表示,好像它是一个http
规范。 大多数URL协议系列都有类似的解析。 具有不同语法的协议的流协议处理程序必须覆盖此例程。- 参数
-
u
-URL
接收解析规范的结果。 -
spec
- 表示必须解析的URL的String
。 -
start
- 开始解析的字符索引。 这刚好超过了':
'(如果有的话),它指定了协议名称的确定。 -
limit
- 停止解析的字符位置。 这是字符串的结尾或“#
”字符的位置(如果存在)。 尖锐符号后的所有信息表示锚点。
-
getDefaultPort
protected int getDefaultPort()
返回此处理程序解析的URL的默认端口。 具有默认端口号的处理程序将覆盖此方法。- 结果
- 此处理程序解析的
URL
的默认端口。 - 从以下版本开始:
- 1.3
-
equals
protected boolean equals(URL u1, URL u2)
提供默认的等于计算。 处理程序可能会覆盖对equals()有不同要求的其他协议。 此方法要求其参数均不为null。 这是由它只由java.net.URL类调用的事实所保证的。- 参数
-
u1
- URL对象 -
u2
- URL对象 - 结果
-
true
如果两个网址被认为是相等的,即。 它们引用同一文件中的相同片段。 - 从以下版本开始:
- 1.3
-
hashCode
protected int hashCode(URL u)
提供默认哈希计算。 处理程序可能会覆盖对hashCode计算有不同要求的其他协议。- 参数
-
u
- URL对象 - 结果
-
int
适合哈希表索引 - 从以下版本开始:
- 1.3
-
sameFile
protected boolean sameFile(URL u1, URL u2)
比较两个url以查看它们是否引用相同的文件,即具有相同的协议,主机,端口和路径。 此方法要求其参数均不为null。 这是由java.net.URL类间接调用它保证的。- 参数
-
u1
- URL对象 -
u2
- URL对象 - 结果
- 如果u1和u2引用同一文件,则为true
- 从以下版本开始:
- 1.3
-
getHostAddress
protected InetAddress getHostAddress(URL u)
获取我们主机的IP地址。 空主机字段或DNS故障将导致空返回。- 参数
-
u
- URL对象 - 结果
-
InetAddress
表示主机IP地址。 - 从以下版本开始:
- 1.3
-
hostsEqual
protected boolean hostsEqual(URL u1, URL u2)
比较两个URL的主机组件。- 参数
-
u1
- 要比较的第一个主机的URL -
u2
- 要比较的第二个主机的URL - 结果
-
true
当且仅当它们相等时,否则为false
。 - 从以下版本开始:
- 1.3
-
toExternalForm
protected String toExternalForm(URL u)
一个转换URL
特定协议到的String
。- 参数
-
u
- URL。 - 结果
-
URL
参数的字符串表示形式。
-
setURL
protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)
将URL
参数的字段设置为指示的值。 只有从URLStreamHandler派生的类才能使用此方法来设置URL字段的值。- 参数
-
u
- 要修改的URL。 -
protocol
- 协议名称。 -
host
- URL的远程主机值。 -
port
- 远程计算机上的端口。 -
authority
- URL的权限部分。 -
userInfo
- URL的userInfo部分。 -
path
- URL的路径组件。 -
query
- URL的查询部分。 -
ref
- 参考。 - 异常
-
SecurityException
- 如果URL的协议处理程序与此不同 - 从以下版本开始:
- 1.3
-
setURL
@Deprecatedprotected void setURL(URL u, String protocol, String host, int port, String file, String ref)
Deprecated.Use setURL(URL, String, String, int, String, String, String, String);将URL
参数的字段设置为指示的值。 只有从URLStreamHandler派生的类才能使用此方法来设置URL字段的值。- 参数
-
u
- 要修改的URL。 -
protocol
- 协议名称。 从1.2开始忽略该值。 -
host
- URL的远程主机值。 -
port
- 远程计算机上的端口。 -
file
- 该文件。 -
ref
- 参考。 - 异常
-
SecurityException
- 如果URL的协议处理程序与此协议处理程序不同
-
-