您的位置:首页 > 编程语言 > Java开发

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

2012-08-18 22:05 225 查看
先描述一下资源的位置:我在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("/");



那么URI和URL有什么区别呢?

URI—Universal Resource Identifier通用资源标志符

Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的

URI一般由三部组成

①访问资源的命名机制

②存放资源的主机名

③资源自身的名称,由路径表示,着重强调于资源。

URL—Uniform Resource Location统一资源定位符

URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL一般由三部组成

①协议(或称为服务方式)

②存有该资源的主机IP地址(有时也包括端口号)

③主机资源的具体地址。如目录和文件名等

参考地址:http://www.cnblogs.com/helife/archive/2010/12/17/1908804.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: