URI 和 URL 的区别


文章目录

  • URI 和 URL 的区别
    • 1. URI
    • 2. URL
    • 3. 总结

参考文章:https://blog.csdn.net/zcc7up/article/details/73551250


1. URI

表示一个 统一资源标识符 引用,Uniform Resource Identifiers

URI 提供一个 toURL() 方法将 URI 转化成一个 URL ,如果转换不成功会抛出 MalformedURLException 或者在执行过程中可能会抛出: IllegalArgumentException

URI 实现了 SerializableComparable 接口,由此看来 URI 是可以被序列化的,并且需要提供 Comparable 接口的 compareTo 方法。

③ 一个URI有九个组成部分:


2. URL

代表一个 统一资源定位符 ,Uniform Resource Locator,它是指向一个互联网 “ 资源 ” 的指针。互联网是关键,URL指向的资源都是网络资源,所以它需要指定一个具体的协议。

URL 可以通过 OpenConnection() 获得一个 URLConnection 对象,而 URLConnection 可以通过 connection() 等方法对网络资源进行操作。


3. 总结

① 都是 java.net 包下的。
URLURI 的一个子集,URLURI 其中的一种。

URI 类在某些特定的情况下,会对其组成的字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 URI.toURL()URL.toURI() 进行转换。

按照官方给出的提示,我们按照以下的方式读取一个网络资源:

public static void main(String[] args) {URI uri = URI.create("http://www.baidu.com");URLConnection urlConnection = null;try {urlConnection = uri.toURL().openConnection();} catch (IOException e) {e.printStackTrace();}try {InputStream inputStream = urlConnection.getInputStream();InputStreamReader isr = new InputStreamReader(inputStream);char[] c = new char[1024];while (isr.read(c) != -1) {System.out.print(c);}} catch (IOException e) {e.printStackTrace();}
}

--->有问题请联系QQ1436281495^_^


Java中URI 和 URL 的区别相关推荐

  1. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  2. JAVA语言-比较器Comparator(java中Comparable和Comparator的区别)

    文章目录 一.什么是Comparator 二.Java compare方法和compareTo方法 三.java中Comparable和Comparator的区别 Comparator的例子 三.de ...

  3. URI与URL的区别与关系--通俗易懂

    首先,URI是一种泛指的概念,URL是其具体的一种实现 URI:统一资源标识符.指的是一个可以用来唯一的标识一个资源的字符串,而不管其具体是用什么方式来实现唯一标识的.打个栗子,要在地球上唯一确定一个 ...

  4. java中的异常种类和区别以及处理机制和区别

    java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...

  5. java中ArrayList和LinkedList的区别

    首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...

  6. java中Runnable和Callable的区别

    文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...

  7. java中wait和sleep的区别

    文章目录 Wait和sleep的区别 唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别.并讨论一下怎么使用 ...

  8. java throw与throws_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  9. Java中重载和复写的区别

    Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...

  10. Java中equals()方法和==的区别分析

    Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...

最新文章

  1. 该不该放弃嵌入式,单片机这条路?
  2. oracle11g与weblogic兼容,WebLogic 10.3.6与JDK 1.7的兼容问题
  3. 通过加载 QSS 文件的方式美化 QT 界面
  4. 快速排序算法javascript实现
  5. warning: function declaration isn’t a prototype解决方法
  6. 剑指offer-3 从尾到头打印链表
  7. 关于python学习路线
  8. SAP Hybris install.bat工作原理分析
  9. python与材料计算公式_《从问题到程序:用Python学编程和计算》——2.11 补充材料-阿里云开发者社区...
  10. 淮阴工学院计算机学院机房,实验室开放
  11. Kali Linux 从入门到精通(八)-主动信息收集
  12. iphone储存空间系统怎么清理_系统项占用了 iPhone 过多的储存空间怎么办?
  13. 简易OA漫谈之工作流设计(五,直接上级)
  14. 样本不均衡的解决方法
  15. [Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类
  16. 求n个连续自然数之和为一个非负整数的数组
  17. 联盟链之hyperledger-fabric
  18. 【Netty之进阶篇】
  19. 关于计算机的网络小说,“80后”从维熙:熟练电脑写作 关注网络文学
  20. c++游戏服务器方向需要多少功底?

热门文章

  1. 乖离率背离公式_通达信指标公式源码操盘K线主图指标
  2. 差分进化算法 matlab,差分进化算法之Matlab实现
  3. STM32F103基于固件库创建工程模板
  4. js判断IE内核,IE浏览器版本
  5. java 查看native方法_Java-如何查看java里的native方法?
  6. a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?...
  7. express快速入门【含源码压缩包下载】
  8. ECharts 实现地图功能
  9. 机器学习十大算法都是何方神圣?看完你就懂了
  10. 【软件项目管理】期末复习