- 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 booleanequals(URL u1, URL u2)提供默认的equals计算。protected intgetDefaultPort()返回此处理程序解析的URL的默认端口。protected InetAddressgetHostAddress(URL u)获取我们的主机的IP地址。protected inthashCode(URL u)提供默认散列计算。protected booleanhostsEqual(URL u1, URL u2)比较两个URL的主机组件。protected abstract URLConnectionopenConnection(URL u)打开与URL参数引用的对象的连接。protected URLConnectionopenConnection(URL u, Proxy p)与openConnection(URL)相同,但连接将通过指定的代理进行; 不支持代理的协议处理程序将忽略代理参数并进行正常连接。protected voidparseURL(URL u, String spec, int start, int limit)将URL的字符串表示法URL为URL对象。protected booleansameFile(URL u1, URL u2)比较两个URL以查看它们是否引用相同的文件,即具有相同的协议,主机,端口和路径。protected voidsetURL(URL u, String protocol, String host, int port, String file, String ref)已过时。使用setURL(URL,String,String,int,String,String,String,String);protected voidsetURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)将URL参数的字段设置为指示的值。protected StringtoExternalForm(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的协议处理程序与此不同
-
-