Java中路径的获取总结以及URL和URI的区别

简介:
先描述一下资源的位置:我在src下建了一个cn.config的包,里面有Config.xml这个文件。来看这一段代码
package cn.test;
import java.net.URISyntaxException;
import java.net.URL;
public class PathTest
{
 public static void getURL()
 {
  URL url = PathTest.class.getClassLoader().getResource("");

  System.out.println(url);
 }
 
 public static void getURL2()
 {
  URL url = PathTest.class.getClassLoader().getResource("cn/config/Config.xml");

  System.out.println(url);
 }
 
 public static void getURI() throws URISyntaxException
 {
  String uri = PathTest.class.getClassLoader().getResource("cn/config/Config.xml").getPath();

  System.out.println(uri);
 }
 
 public static void main(String[] args) throws URISyntaxException
 {
  getURL();
  getURL2();
  getURI();
 }
}
 
对于Java项目的结果
file:/E:/mydir/PathTest/bin/
file:/E:/mydir/PathTest/bin/cn/config/Config.xml
/E:/mydir/PathTest/bin/cn/config/Config.xml
 

bin文件夹中放的是.java被编译后的.class文件,若是普通文件就按照路径自动拷贝的bin文件夹下,类加载器在加载.class的时候把普通文件也一起加载了。web项目也是同样的道理,只是文件夹不同。


对于Web项目的结果
file:/E:/mydir/PathTest_Web/WebRoot/WEB-INF/classes/
file:/E:/mydir/PathTest_Web/WebRoot/WEB-INF/classes/cn/config/Config.xml
/E:/mydir/PathTest_Web/WebRoot/WEB-INF/classes/cn/config/Config.xml

 

对于Servlet,Action取到项目里的路径和上面一样,如何取到在服务器的值?比如在tomcat里面的值呢?
String path = ServletActionContext.getServletContext().getRealPath("/");
 
那么URIURL有什么区别呢?
URI—Universal Resource Identifier 通用资源标志符
Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。
URL—Uniform Resource Location 统一资源定位符
URLInternet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic
采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。 
URL一般由三部组成
①协议(或称为服务方式
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/966567如需转载请自行联系原作者

woshixuye111
相关文章
|
1月前
|
Java
Java isBlank和isEmpty的区别
JavaisBlank和isEmpty的区别
17 0
|
1月前
|
Java Spring 容器
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
|
1天前
|
安全 Java
【JAVA】在 Queue 中 poll()和 remove()有什么区别
【JAVA】在 Queue 中 poll()和 remove()有什么区别
|
1天前
|
存储 安全 Java
【JAVA】concurrentHashMap和HashTable有什么区别
【JAVA】concurrentHashMap和HashTable有什么区别
|
1天前
|
安全 Java
【JAVA】线程的run()和start()有什么区别?
【JAVA】线程的run()和start()有什么区别?
|
1天前
|
Java API
【JAVA】final、finally、finalize 有什么区别?
【JAVA】final、finally、finalize 有什么区别?
|
3天前
|
JavaScript 前端开发 Oracle
java和JavaScript的区别
java和JavaScript的区别
7 3
|
20天前
|
Java 关系型数据库 MySQL
大厂面试题详解:Java抽象类与接口的概念及区别
字节跳动大厂面试题详解:Java抽象类与接口的概念及区别
40 0
|
1月前
|
Java
java的 isEmpty 和 isBlank 区别?
java的 isEmpty 和 isBlank 区别?
8 0
|
1月前
|
Java Unix 程序员
【Java】Sleep和Wait的区别
【Java】Sleep和Wait的区别
18 0

热门文章

最新文章