• 3、URL和URI(上)


    URI

    统一资源标识符(URI)是采用一种特定的语法表示一个资源的字符串

    所有的资源标识可能是服务器上的一个文件

    资源是由URI标识的内容

    URI则是标识一个资源的字符串

    URI的组成:

      模式:模式特定部分

    特定部分的语法取决于所用的模式:

    1、date:连接中直接包含的Base64编码数据

    2、file:本地磁盘上的文件

    3、ftp“ftp服务器

    4、http:使用超文本传输协议的国际互联网服务器

    5、mailto:电子邮件地址

    6、magnet:可以通过对等网络下载资源

    7、telnet:与基于Telnet的服务的连接

    8、urn:统一资源名

    URLs

    URL是一个URI,除了标识一个资源,还会为资源提供一个特定的网络位置

    客户端可以用它来标识获取这个资源

    通用的URI可以告诉一个资源是什么但是无法告知在哪

    java.net.ERI:只标识资源

    java.netnURL:既能标识资源又能获取资源

    URL中的网络位置通常包括用来访问服务器的协议(HTTP等)

    服务器的主机名或IP地址,以及文件在该文件服务器上的路径

    URL类

    java.net.URL类是统一资源定位符的抽象

    扩展了Java.lang,Object是一个final类,不能派生子类

    不依赖继承来配置不同类型的URL的实例,而是使用了策略模式

    协议处理器就是策略,URL类构成上下文,通过他来选择不同的策略

    URL是不可变的,构造一个URL对象之后,其字段不在改变

    可以保证线程安全

    创建新的URL对象

    构造的一个不支持协议创建URL对象

    或者语法不正确

    都会进行抛出MalformedURLException异常

    字符串构造URL

     

    最简单的构造方式接受一个字符串形式的URL作为唯一的参数

    URL url = new URL("https://www.baidu.com");

     可以使用getProtocol()方法来得URL的协议

            URL url = new URL("https://www.baidu.com");
            System.out.println(url.getProtocol());

    组成部分构造URL

     

    将端口设为-1标识会使用默认的端口

    file:应当用下线开头,包括路径、文件名、可选的片段标识符

    http://www.w3school.com.cn/html/index.asp

    使用HTTP默认的端口80

    文件规范包括指型一个引用

    如果虚拟机不支持HTTP这个代码会抛出一异常

    指定端口

     

    构造相对URL

    构造函数根据相对的URL和基础的URL构建一个绝对的URL

    此时根据url可以计算新的URLhttp://www.w3school.com.cn/html/second.asp

    循环处理位于同一个目录下的一组文件,这个构造函数很有用

    从URL获取数据

     

    最长使用的方法:opebStream(),会返回一个InputStream,可以从这个流中读取数据

    需要更多的哦内阁制下载过程调用openConnection()

    者会提供一个可配置的URLConnection,在由它得到一个InputStream

    getContent()向URL请求其内容,这回提供一个完整的对象(如Image、String)会返回一个InputStream

    openStream()方法连接到URL所引用的资源

    在客户端和服务器之间完成必要的握手

    返回一个InputStream,可以由此读取数据

    从这个InputStream获得的数据是URL引用原始内容

    如果读取ASCII文本文件则为ASCII

    如果读取HTML文件则为原始的HTML

    如果读取图像文件则为二进制图片数据

    不包括任何HTTP首部或者协议有关的任何信息

    可以向读取任何其他InputStream一样读取这个InputStream

     

    该方法为指定的URL打开一个socket

    返回一个URLConnection对象

    URLConnection标识一个网络资源的打开链接

    如果调用失败,会抛异常

    如果希望与服务器直接通信,应当使用这个方法

    通过URLConnection可以访问服务器发送的所有数据:除了原始文件之外,还可以访问这个协议指定的所有元数据

    重载方法:

     

    是下载URL引用数据的第三种方法

    获取由URL引用的数据,尝试建立某种类型的对象

    如果URL指示某种文本(ASCII或HTML),返回对象通常是InputStream

    如果URL只是一个图像,返回通常是一个ImageProducer

    这两个类的共同点:本身不是数据对象,是一种途径

     

    问题:很难预测将获得那种对象

    可鞥 得到某个INputStream或者ImageProducer,或者AudioClip

    instance操作符很容易检查

    URL的内容处理器可以提供一个资源不同的视图

    getContent()方法重载版本允许选择希望的类型进行返回

     

     

     

  • 相关阅读:
    Windows Mobile 开发资源 [转]
    CIO与CTO的区别
    [转]快速产品开发的12项指南
    VS Template Parameters
    MSDN Webcast 使用Windows Mobile Test Framework进行自动化测试(Level 300)
    10年内两类必被淘汰的企业软件开发公司(转载)
    小学期第二周收获
    对于学长创作的软件 TD信息通(无课表)的使用体验以及改进内容
    小学期第一周收获
    Delphi中建议使用的语句
  • 原文地址:https://www.cnblogs.com/Mrchengs/p/10913328.html
Copyright © 2020-2023  润新知