public abstract class URLStreamHandler extends Object
URLStreamHandler
是所有流协议处理程序的通用超类。
流协议处理程序知道如何为特定协议类型建立连接,例如http
或https
。
在大多数情况下, URLStreamHandler
子类的实例不是由应用程序直接创建的。 更确切地说,在第一时间构建时的协议名称遇到URL
,适当的流协议处理程序被自动加载。
URL.URL(java.lang.String, java.lang.String, int, java.lang.String)
Constructor and Description |
---|
URLStreamHandler() |
Modifier and Type | Method and Description |
---|---|
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 参数引用的对象的
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 。
|
protected abstract URLConnection openConnection(URL u) throws IOException
URL
参数引用的对象的URL
。
这个方法应该被一个子类覆盖。
如果对于处理程序的协议(例如HTTP或JAR),则存在属于以下软件包或其子包之一的公共专用URLConnection子类:java.lang,java.io,java.util,java.net,返回的连接将是该子类。 例如,对于HTTP,将返回一个HttpURLConnection,对于JAR,将返回一个JarURLConnection。
u
- 连接到的URL。
URLConnection
对象为
URL
。
IOException
- 如果在打开连接时发生I / O错误。
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
- 如果实现协议的子类不支持此方法。
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
- 停止解析的字符位置。
这是字符串的结尾或“ #
”字符的位置(如果存在)。
尖锐标志后的所有信息表示锚点。
protected int getDefaultPort()
URL
的默认端口。
protected boolean equals(URL u1, URL u2)
u1
- 一个URL对象
u2
- 一个URL对象
true
如果两个网址被认为是相等的,即
它们引用同一文件中的相同片段。
protected int hashCode(URL u)
u
- 一个URL对象
int
protected boolean sameFile(URL u1, URL u2)
u1
- 一个URL对象
u2
- 一个URL对象
protected InetAddress getHostAddress(URL u)
u
- 一个URL对象
InetAddress
主机IP地址的
InetAddress
。
protected boolean hostsEqual(URL u1, URL u2)
u1
- 要比较的第一个主机的URL
u2
- 要比较的第二个主机的URL
true
当且仅当它们相等时,
false
否则。
protected String toExternalForm(URL u)
URL
的特定协议转换为
String
。
u
- 网址。
URL
参数。
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的协议处理程序与此不同
URL.set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)
@Deprecated protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
URL
参数的字段设置为指示的值。
只有派生自URLStreamHandler的类能够使用此方法来设置URL字段的值。
u
- 要修改的URL。
protocol
- 协议名称。
自1.2以来,此值将被忽略。
host
- URL的远程主机值。
port
- 远程机器上的端口。
file
- 该文件。
ref
- 参考。
SecurityException
- 如果URL的协议处理程序与此不同