https://www.iteye.com/blog/dingbuoyi-836621

   String urlString = "http://192.168.21.77:8080/swp/mainPage?aa=11&bb%3D22";  URI uri = URI.create(urlString);  System.out.println(uri.getPath());  System.out.println(uri.getQuery());//解码  URL url2 = new URL(urlString);  System.out.println(url2.getQuery());//不解码

URI可以解码:
注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。

也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与 RFC2396 中定义的编码机制不同。

引用:
URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息。其他URI,比如:
mailto:cay@horstman.com
则不属于定位符,因为根据该标识符无法定位任何资源。像这样的URI我们称之为URN(统一资源名称)。
在Java类库中,URI类不包含任何访问资源的方法,它唯一的作用就是解析。相反的是,URL类可以打开一个到达资源的流。因此URL类只能作用于那些Java类库知道该如何处理的模式,例如:http:,https:,ftp:,本地文件系统(file:),和Jar文件(jar:)。
URI类的作用之一是解析标识符并将它们分解成各个不同的组成部分。你可以用以下方法读取它们:
getSchema
getHost
getPort
getPath
getQuery

URI类的另一个作用是处理绝对标识符和相对标识符。如果存在一个如下的绝对URI:
http://docs.mycompany.com/api/java/net/serversocket.html
和一个如下的相对URI:
…/…/java/net/socket.html#Socket()
那么你可以将它们合并成一个绝对URI:
http://docs.mycompany.com/api/java/net/socket.html#Socket()
这个过程被称为相对URL的转换。
与此相反的过程成为相对化。例如:假设你有一个基本URI:
http://docs.mycompany/api
和另一个URI:
http://docs.mycompany/api/java/lang/String.html
那么相对化后的URI就是:
java/lang/String.html

URI URL区别及转换相关推荐

  1. java 的本地文件到URI/URL格式的转换

    @Testpublic void testURL() throws MalformedURLException {//本地文件转URIURI uri=new File("d:/temp/a. ...

  2. 【转】URL和URI的区别

    [转]URL和URI的区别 译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还 ...

  3. URL和URI的区别 【转】

    2019独角兽企业重金招聘Python工程师标准>>> URL和URI的区别 [转] 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还是英文啊,靠 ...

  4. 一招明白URL和URI的区别

    URL和URI的区别(示例): URL[统一资源定位器]: http://localhost:8080/api/account/queryAccountInfo URI[统一资源定位符]: /api/ ...

  5. 通熟理解urL和urI的区别

    转载自:https://blog.csdn.net/simplebam/article/details/72644094 关于URL和URI的区别,个人见解. 初学java,最近被一个概念搞得头晕脑胀 ...

  6. [C#]从URL中获取路径的最简单方法-new Uri(url).AbsolutePath

    今天在写代码时遇到这样一个问题: 如何从字符串 "http://job.cnblogs.com/images/job_logo.gif" 中得到 "/images/job ...

  7. JQuery对象和JS对象区别与转换|| 事件绑定 入口函数 样式控制

    JQuery对象和JS对象区别与转换   1. JQuery对象在操作时,更加方便.     2. JQuery对象和js对象方法不通用的.     3. 两者相互转换         * jq -- ...

  8. Android代码(Handler的运用),HttpURLConnection的应用,将url图片地址转换成图片。

     1 布局文件, <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...

  9. CString与string、char*的区别和转换

    我们在C++的开发中经常会碰到string.char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆.下面详细介绍这三者的区别.联系和转换: 各自的区别 char*: ...

最新文章

  1. 深度学习学习指南-工具篇
  2. 【组队学习】【34期】组队学习内容详情
  3. 使用Ptrace跟踪进程收到的异常信号(信号SIGTRAP是通过traceme后wait得到的)
  4. CrazyWing:Python自动化运维开发实战 六、流程控制
  5. 怎样才算熟悉python-怎样才算python入门
  6. 交互式计算机图形学总结:第五章 光照和明暗绘制
  7. Tensorflow:interactivesession和session的区别。
  8. CIKM 2021 | AutoHERI: 基于层次表示自动聚合的 CVR 预估模型
  9. PagingAndSortingRepository –如何与Thymeleaf一起使用
  10. git上传大于100M的文件
  11. Windows安装及使用sqlmap
  12. 只能发邮件不能接受_《GTA5》R星发邮件问候玩家会发生什么?以下操作一个也别碰...
  13. 用于计算成像的超材料
  14. 刚体转动惯量c语言计算程序,Tracker软件在三线摆测量刚体转动惯量实验中的应用...
  15. 为SoC-FPGA添加TFT显示屏和USB键盘
  16. 未解——Matlab积分运算int函数
  17. linux的rm命令和 rmdir命令
  18. Oracle 中总计和小计使用的函数
  19. 电脑内存不足,QQ数据占用过大,对小白友好清理方法
  20. python测试-9-7

热门文章

  1. 关于JavaScript谷歌浏览器报错常见问题
  2. Mac-工具-IntelliJ IDEA升级2022.1问题
  3. URL中“#” “?” “”号的作用
  4. 学报格式和论文格式一样吗_发表学报论文格式有什么要求
  5. 电厂3D可视化_输变电站三维扫描建模
  6. 计算机键盘复制键,键盘按键设置复制粘贴的方法
  7. 一些特殊字符的英文读法(ASCII 码, 希腊字母、符号)
  8. JavaWeb将操作成功的消息返回给前端
  9. 【计算机基础】Macbook安装Anaconda和使用Jupyter notebook
  10. 苹果手机怎么设置时间24小时制_手机资讯:无法激活 iMessage 等问题及解决办法汇总...