所有类


java.net
类 URLStreamHandler

java.lang.Object
  继承者 java.net.URLStreamHandler

public abstract class URLStreamHandler
   
   
   
   
   
extends Object

抽象类 URLStreamHandler 是所有流协议处理程序的通用超类。流协议处理程序知道如何为特定的协议类型,如 httpftpgopher 进行连接。

在大多数情况下,URLStreamHandler 子类的实例都不是由应用程序直接创建的。而是在构造 URL 过程中第一次遇到协议名称时,自动加载适当的流协议处理程序。

从以下版本开始:
JDK1.0
另请参见:
URL.URL(java.lang.String, java.lang.String, int, java.lang.String)

构造方法摘要
URLStreamHandler()
           
 
方法摘要
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 对象。
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
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

URLStreamHandler

public URLStreamHandler()
方法详细信息

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。
返回:
对应于 URLURLConnection 对象。
抛出:
IOException - 如果打开连接时发生 I/O 错误。

openConnection

protected URLConnection openConnection(URL u,
                                       Proxy p)
                                throws IOException
与 openConnection(URL) 相同,不同点在于:通过指定的代理进行连接;不支持代理方式的协议处理程序将忽略该代理参数并进行正常的连接。 调用该方法会提示系统的默认 ProxySelector 设置。

参数:
u - 所连接的 URL。
p - 进行连接所通过的代理。如果希望使用直接连接,则应指定 Proxy.NO_PROXY。
返回:
对应于 URLURLConnection 对象。
抛出:
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 参数中。

URLStreamHandlerparseURL 方法按照 http 规范解析该字符串表示形式。多数 URL 协议家族的解析都很相似。具有不同语法的协议的流协议处理程序必须重写该例程。

参数:
u - 用于接收解析规范的结果的 URL
spec - 代表必须解析的 URL 的 String
start - 解析开始处的字符索引。其只传递 ':'(如果有一个),用来指定确定的协议名称。
limit - 停止解析的字符位置。这是字符串的结束或 "#" 字符位置(如果有)。井号之后的所有信息都指示一个定位点。

getDefaultPort

protected int getDefaultPort()
返回由该处理程序解析的 URL 的默认端口。具有默认端口号的处理程序应重写此方法。

返回:
由该处理程序解析的 URL 的默认端口。

equals

protected boolean equals(URL u1,
                         URL u2)
提供默认的 equals 计算。它可能由其他协议所用的处理程序重写,这些协议对 equals() 有不同要求。该方法要求所有参数都不为 null。因为它只能由 java.net.URL 类调用,所以参数都不为 null,这一点可以得到保证。

参数:
u1 - URL 对象
u2 - URL 对象
返回:
如果两个 url 被视为相等(即它们引用的是同一文件中的相同片段),则返回 true

hashCode

protected int hashCode(URL u)
提供默认的哈希计算。它可能由其他协议所用的处理程序重写,这些协议对 hashCode 计算有不同要求。

参数:
u - URL 对象
返回:
适用于哈希表索引的 int

sameFile

protected boolean sameFile(URL u1,
                           URL u2)
比较两个 url 以确定它们是否引用相同的文件(即具有相同的协议、主机、端口和路径)。该方法要求所有参数都不为 null。因为它只能由 java.net.URL 类间接调用,所以参数都不为 null,这一点可以得到保证。

参数:
u1 - URL 对象
u2 - URL 对象
返回:
如果 u1 和 u2 引用的是同一文件,则返回 true

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部