- 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) 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 URLStreamHandler() 
-  
             
方法摘要
所有方法 实例方法 抽象方法 具体的方法 弃用的方法 变量和类型 方法 描述 protected booleanequals(URL u1, URL u2)提供默认的等于计算。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对象。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为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
@Deprecated protected 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的协议处理程序与此协议处理程序不同 
 
 -  
 
 -