URI是对URL的抽象,不仅包括统一资源定位符,还包括统一资源名,在java中URI用java.net.URI类表示,这个类与java.net.URL类的区别表现在:

  • URI类完全有关于资源的标识和URI的解析,他没有提供方法来获取URI所标识的资源的标识
  • 相比URL类,URI类与相关的规范更一致
  • URI对象可以表示相对URI,URI类在存储URI之前会将其绝对化

简而言之,URL对象时对应网络获取的应用层协议的一个表示,二URI对象纯粹用于解析和处理字符串.

URI构造函数的用法

import java.awt.image.ImageProducer;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.net.*; public class Url { public static void main(String[] args) throws MalformedURLException, URISyntaxException { URI u1 = new URI("http://www.baidu.com");
URI u2 = new URI("http","//www.baidu.com",null);
URI u3 = new URI("http","//www.baidu.com","today");
URI u4 = new URI(null,"//www.baidu.com","today");//创建一个相对URI
URI u5 = new URI("http","//www.baidu.com","<");//片段标识赋符中禁止的字符自动转义
URI u6 = new URI("http","//www.baidu.com","/javafaq/index.html","referrer=cnet&date=2014-02-23","<");//加入了chax字符部分
URI u7 = new URI("ftp","anoymous:elharo#ibiblio.org","ftp.oreilly.com",21,"/javafaq/index.html",null,null);
System.out.println(u1);
System.out.println(u2);
System.out.println(u3);
System.out.println(u4);
System.out.println(u5);
System.out.println(u6);
System.out.println(u7); }
}/* output:
http://www.baidu.com
http://www.baidu.com
http://www.baidu.com#today
//www.baidu.com#today
http://www.baidu.com#%3C
http://%2F%2Fwww.baidu.com/javafaq/index.html?referrer=cnet&date=2014-02-23#%3C
ftp://anoymous:elharo%23ibiblio.org@ftp.oreilly.com:21/javafaq/index.html *///~

java URI的更多相关文章

  1. JAVA URI URL 区别

    String urlString = "http://192.168.21.77:8080/swp/mainPage?aa=11&bb%3D22"; URI uri = U ...

  2. java URI 与URL问题

    File类存在两个看起来很相似的方法toURI()和toURL(),这两个方法都是将文件转换成一个链接,可以网络访问.只是URI和URL的应用范围不同,URI来的更广. 那么为什么要使用toURI() ...

  3. java URI 编码解码

    import java.io.UnsupportedEncodingException; /** * url转码.解码 */ public class UrlUtil { private final ...

  4. 基础篇:JAVA资源之IO、字符编码、URL和Spring.Resource

    目录 1 JAVA.IO字节流 2 JAVA.IO字符流 3 乱码问题和字符流 4 字符集和字符编码的概念区分 5 URI概念的简单介绍 6 URL概念及与URL的区别 7 Spring.Resour ...

  5. ActionBar ShareActionProvider

    添加share按钮 添加share按钮的主要步骤: 1. 在ActionBar中添加share按钮 2. 从item中获取ShareActionProvider ShareActionProvider ...

  6. NetBeans部署项目(Extjs)报错(一)

    NetBeans部署项目(Extjs)报错(一) 1.用NetBeans将项目部署到Tomcat中,报错. 具体如下: ant -f D:\\NetBeans\\workspace\\Foundati ...

  7. 深入理解Servlet原理

    Servlet介绍: 1. 如何返回一个网页: a. 静态网页 >新闻页.百度百科 >服务器保存一份HTML,直接返回给浏览器即可 b. 动态网页 >淘宝.QQ空间.微博 >服 ...

  8. spring boot 打包方式 spring boot 整合mybaits REST services

    <build> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugi ...

  9. 5、Android-跨程序共享数据--内容提供器

    Android数据持久化技术:文件存储.SharedPreferences存储.数据库存储 使用这些持久化技术保存的数据只能再当前的应用程序中访问 但是对于不同应用之间的可以实现跨程序数据共享的功能 ...

随机推荐

  1. 在eclipse中从cvs下载项目,再部署到tomcat常见错误!

    1.先调出cvs视图 如果cvs插件还未安装,下载一个: 安装cvs插件:将features和pluguns文件夹里面的内容分别复制到eclipse安装路径下面对应的features和pluguns文 ...

  2. 电路板上的元件R,T,D,C,U

    参考链接: https://zhidao.baidu.com/question/194132005.html

  3. spring4 注入参数

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. ASP.NET MVC - NPOI读取Excel

    引入: using System; using System.Data; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserM ...

  5. com.nostra13.universalimageloader 加载displayImage图片时图片模糊的处理办法

    配置显示参数: DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(defaultR ...

  6. Linker Scripts3--简单的链接脚本命令1

    1.前言 这个部分我们描述了简单的链接脚本命令 2.设置entry point 程序中第一条运行的指令被称为入口点entry point,可以使用ENTRY链接脚本命令设置entry point,参数 ...

  7. Memcached技术

    Memcached技术 介绍: memcached是一种缓存技术, 他可以把你的数据放入内存,从而通过内存访问提速,因为内存最快的, memcached技术的主要目的提速, 在memachec 中维护 ...

  8. git与eclipse集成之代码提交

    1.1. 代码提交 编码完成后,需要提交代码,例如新增文件git.txt 1.1.1.        提交代码到个人本地特性分支(commit) 选择工程,右键Team,Synchronize Wor ...

  9. sugarCrm翻译

    Logic Hook hook配置信息和触发器定义在以下目录中 ./custom/Extension/modules/<module>/Ext/LogicHooks/<file> ...

  10. ASP.NET MVC5高级编程 之 视图

    1.1理解视图约定 当创建一个项目模版时,可以注意到,项目以一种非常具体的方式包含了一个结构化的Views目录.在每一个控制器的View文件夹中,每一个操作方法都有一个同名的视图文件与其对应.这就提供 ...