URL 的用法

  • Post author:
  • Post category:其他



1.URL类构造函数

URL类的构造方法主要有如下几种

URL(String spec):使用指定的字符串构建。

URL(String protocol, String host, int port, String file):使用指定的协议、主机名、端口号、文件名创建。

URL(String protocol, String host, String file):使用指定的协议、主机名、文件名创建。

URL(URL context, String spec):使用基地址和相对URL创建。

URL类的构造方法应用举例,其代码如下所示。




  1. import



    java.net.MalformedURLException;




  2. import



    java.net.URL;




  3. public





    class



    Test

    {








  4. public





    static





    void



    main(String

    args[])

    {












  5. try



    {















































  6. //创建URL















  7. URL

    url1

    =



    new



    URL(

    “http:







    //www.sina.com.cn”

    );














  8. URL

    url2

    =



    new



    URL(

    “http”

    ,


    “www.263.net”

    ,


    “index.html”

    );











  9. }













  10. catch



    (MalformedURLException

    e)

    {




    //捕获MalformedURLException异常















  11. e.printStackTrace();










  12. }






  13. }


  14. }


分析:示例定义了类Test,Test包含一个main()方法。main()方法采用两种形式创建了URL类的实例url1和url2。需要注意的是,URL类的构造方法都会产生可控异常MalformedURLException,需要对其进行处理。



2.使用URL类方法


使用URL类的常用方法主要有如下几种。


String getAuthority():获得此URL的授权部分。


Object getContent():获得此URL的内容。


int getDefaultPort():获得与此URL关联协议的默认端口号。


String getFile():获得此URL的文件名。


String getHost():获得此URL的主机名(如果适用)。


String getPath():获得此URL的路径部分。


int getPort():获得此URL的端口号。


String getProtocol():获得此URL的协议名称。


String getQuery():获得此URL的查询部分。


String getRef():获得此URL的锚点(也称为”引用”)。


String getUserInfo():获得此URL的userInfo部分。


URLConnection openConnection():返回一个URLConnection对象,它表示到URL所引用的远程对象的连接。


InputStream openStream():打开到此URL的连接,并返回一个用于从该连接读入的InputStream。


boolean sameFile(URL other):比较两个URL,不包括片段部分。


protected void set(String protocol, String host, int port, String file, String ref):设置URL的字段。


static void setURLStreamHandlerFacto

ry(URLStreamHandlerFactory fac):设置应用程序的URLStreamHandlerFactory。



使用URL类获取相关网络资源信息的应用举例,其代码如下所示。




  1. import



    java.net.MalformedURLException;




  2. import



    java.net.URL;




  3. public





    class



    Test

    {








  4. public





    static





    void



    main(String

    args[])

    {












  5. try



    {














  6. URL

    url

    =



    new



    URL(

    “http://www.263.net/index.html”

    );































































  7. //创建URL















  8. System.out.println(

    “协议:”


    +

    url.getProtocol());

    //获得协议信息















  9. System.out.println(

    “端口:”


    +

    url.getPort());



    //获得端口信息















  10. System.out.println(

    “主机:”


    +

    url.getHost());



    //获得主机信息















  11. System.out.println(

    “文件:”


    +

    url.getFile());



    //获得文件信息











  12. }












  13. catch



    (MalformedURLException

    e)

    {




    //捕获MalformedURLException异常















  14. e.printStackTrace();










  15. }






  16. }


  17. }


分析:示例定义了类Test,Test包含一个main()方法。main()方法首先以指定的URL地址创建了URL类的实例url。然后,分别调用getProtocol()、getPort()、getHost()、getFile()方法获取该URL的相关信息。另外,对URL类的构造方法产生的异常MalformedURLException进行了捕获。



版权声明:本文为mujianwei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。