Java URL使用

       1、先简单介绍URL:
public final class URL
   
   
    
    extends Object
   
   
   
   
    
    implements Serializable
   
   
 

URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

通常,URL 可分成几个部分。

http://archive.ncsa.uiuc.edu/SDG/Software/Mosaic/Demo/url-primer.html

上面的 URL 示例指示使用的协议为 http (超文本传输协议),并且该信息驻留在名为 www.ncsa.uiuc.edu 的主机上。主机上的信息名称为 /SDG/Software/Mosaic/Demo/url-primer.html。主机上此名称的准确含义取决于协议和主机。该信息一般存储在文件中,但可以随时生成。该 URL 的这一部分称为路径 部分。

URL 可选择指定一个“端口”,用于建立到远程主机 TCP 连接的端口号。如果未指定该端口号,则使用协议默认的端口。例如,http 协议的默认端口为 80。还可以指定一个备用端口,如下所示:

     http://archive.ncsa.uiuc.edu:80/SDG/Software/Mosaic/Demo/url-primer.html
 

URL 后面可能还跟有一个“片段”,也称为“引用”。该片段由井字符 "#" 指示,后面跟有更多的字符。例如,

     http://java.sun.com/index.html#chapter1

从技术角度来讲,URL 并不需要包含此片段。但是,使用此片段的目的在于表明,在检索到指定的资源后,应用程序需要使用文档中附加有 chapter1 标记的部分。标记的含义特定于资源

应用程序也可以指定一个“相对 URL”,它只包含到达相对于另一个 URL 的资源的足够信息。HTML 页面中经常使用相对 URL。例如,假设 URL 的内容是:

     http://java.sun.com/index.html
 
其中包含的相对 URL:
     FAQ.html
为以下形式的缩写:
     http://java.sun.com/FAQ.html

相对 URL 不需要指定 URL 的所有组成部分。如果缺少协议、主机名称或端口号,这些值将从完整指定的 URL 中继承。但是,必须指定文件部分。可选的片段部分不继承。

2、URL使用

URL使用分为两个步骤:构造URL对象、打开连接。

2.1 构造。使用多钟方法构造URL对象,如下表所示。

构造方法摘要
URL(String spec)
          根据 String 表示形式创建 URL 对象。
URL(String protocol, String host, int port, String file)
          根据指定 protocolhostport 号和 file 创建 URL 对象。
URL(String protocol, String host, int port, String file, URLStreamHandler handler)
          根据指定的 protocolhostport 号、filehandler 创建 URL 对象。
URL(String protocol, String host, String file)
          根据指定的 protocol 名称、host 名称和 file 名称创建 URL。
URL(URL context, String spec)
          通过在指定的上下文中对给定的 spec 进行解析创建 URL。
URL(URL context, String spec, URLStreamHandler handler)
          通过在指定的上下文中用指定的处理程序对给定的 spec 进行解析来创建 URL。

eg:

URL url = new URL(“http://www.mycompany.com:8080/index.html”);
其中:使用的协议是http,主机名称是www.mycompany.com,端口号码为8080,文件/资源为index.html

2.2 连接

创建成功后,就可以打开连接来对URL的资源进行访问。有多种方式实现:

            URL url = new URL("http://www.sina.com.cn");

2.2.1 通过URLConnection对象


            URLConnection urlcon = url.openConnection();
            InputStream is = urlcon.getInputStream();
          
            2.2.2 通过HttpURLConnection 对象


            HttpURLConnection urlcon = (HttpURLConnection)url.openConnection();
            InputStream is = urlcon.getInputStream();
          
            2.2.3 直接使用InputStream.openStream方法


            InputStream is = url.openStream();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值