- java.lang.Object
-
- java.net.URLStreamHandler
-
public abstract class URLStreamHandler extends Object
抽象类URLStreamHandler
是所有流协议处理程序的公共超类。 流协议处理程序知道如何为特定协议类型建立连接,例如http
或https
。在大多数情况下,
URLStreamHandler
子类的实例不是由应用程序直接创建的。 相反,在构建URL
时,首次遇到协议名称,相应的流协议处理程序将自动加载。- 从以下版本开始:
- 1.0
- 另请参见:
-
URL(java.lang.String, java.lang.String, int, java.lang.String)
-
-
构造方法摘要
构造方法 Constructor 描述 URLStreamHandler()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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
为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为空,或者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计算。 对于对equals()有不同要求的其他协议可能会被处理程序所掩盖。 该方法要求它的参数都不为空。 这是由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以查看它们是否引用相同的文件,即具有相同的协议,主机,端口和路径。 该方法要求它的参数都不为空。 这是由java.net.URL类间接调用的事实来保证的。- 参数
-
u1
- 一个URL对象 -
u2
- 一个URL对象 - 结果
- 如果u1和u2指的是同一个文件,则为true
- 从以下版本开始:
- 1.3
-
getHostAddress
protected InetAddress getHostAddress(URL u)
获取我们的主机的IP地址。 空主机字段或DNS故障将导致空返回。- 参数
-
u
- 一个URL对象 - 结果
-
一个表示主机IP地址的
InetAddress
。 - 从以下版本开始:
- 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
参数。
-
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
- userInfo的一部分URL。 -
path
- URL的路径组件。 -
query
- URL的查询部分。 -
ref
- 参考。 - 异常
-
SecurityException
- 如果URL的协议处理程序与此不同 - 从以下版本开始:
- 1.3
- 另请参见:
-
URL.set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)
-
setURL
@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
参数的字段设置为指示的值。 只有派生自URLStreamHandler的类能够使用此方法来设置URL字段的值。- 参数
-
u
- 要修改的URL。 -
protocol
- 协议名称。 自1.2以来,此值将被忽略。 -
host
- URL的远程主机值。 -
port
- 远程机器上的端口。 -
file
- 该文件。 -
ref
- 参考。 - 异常
-
SecurityException
- 如果URL的协议处理程序与此不同
-
-