2024年java url类基础知识

java url类基础知识URL 和 URI 区别 本文我们讨论 URL 和 URI 的主要区别 并通过示例说明这些差异 URL 和 URI 直接差异来自其定义 Uniform Resource Identifier URI 对任何抽象或物理资源进行完整标识的字符序列 Uniform Resource Locator URL 除了标识资源可用的位置之外 URI 的一个子集描述了访问该资源的主要机制

大家好,我是讯享网,很高兴认识大家。



URL 和 URI 区别

本文我们讨论URL 和 URI 的主要区别,并通过示例说明这些差异。

URL 和 URI

直接差异来自其定义:

  • Uniform Resource Identifier (URI) − 对任何抽象或物理资源进行完整标识的字符序列。 Uniform
  • Resource Locator (URL) − 除了标识资源可用的位置之外,URI的一个子集描述了访问该资源的主要机制。

现在我们可以得出结论:每个URL都是一个URI,后面我们会看到情况并非如此。

语法

所有URI,不管其是否为URL,需遵循形式:

每部分描述如下:

  • scheme − 对于 URL, 是访问资源的协议名称;对其他URI,是分配标识符的规范的名称
  • authority − 可选的组成用户授权信息部分,主机及端口(可选)
  • path − 用于在scheme和authority内标识资源
  • query − 与路径一起的附加数据用于标识资源。对于url是查询字符串
  • fragment − 资源特定部分的可选标识符

为了方便地识别特定的URI是否是URL,我们可以检查它的scheme。每个URL都必须从以下scheme开始:ftp、http、https、gopher、mailto、news、nntp、telnet、wais、file或prospero。如果不是以此开头,则不是URL。

现在我们已经了解了语法,让我们看一些示例。下面是uri列表,其中只有前三个是url:

讯享网

URL 和 URI的java api区别

本节我们通过示例演示URL 和 URI的java api区别。

实例化

创建URL 和 URI实例很类似,两个类都提供了几个构造函数,接收大部分其组件,仅URI有接收全部组件的构造函数语法:

 
讯享网

URI类提供了工具方法,用于创建新的实例,无需检查异常:

 

URL不提供这样方法。由于URL必须从前面提到的一个scheme开始,尝试用不同的scheme创建对象将导致异常:

 

两个类都提供了其他的构造函数,读者可以查看相应文档。

URI 和 URL 实例间转换

URI 和 URL 实例间转换很简单直接:

 

然而,尝试转换非URL会抛出异常:

 

打开远程连接

因为URL是有效的远程资源引用,java提供方法打开远程资源连接并获取其内容:

 

总结

我们介绍了一些示例来说明Java中URI和URL之间的区别。分别说明了创建对象实例和转换象的差异。java url类基础知识我们还展示了URL具有打开指向资源的远程连接的方法。

小讯
上一篇 2024-12-31 14:08
下一篇 2025-01-01 22:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3367.html