[color=red]blog迁移至[/color]:[url=http://www.micmiu.com]http://www.micmiu.com[/url]
运行结果如下:
[quote]
Thread.currentThread().getContextClassLoader():
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/michael/utils/
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getClassLoader().getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClassLoader.getSystemResource:
file:/D:/current/06Coding/project/target/classes/
---------------------------------------
System.getProperty:
D:\J2EE_sjsky\current\06Coding\project
---------------------------------------
[/quote]
转载请注明来自:Michael's blog @ [url=http://sjsky.iteye.com]http://sjsky.iteye.com[/url]
-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------
package michael.utils;
/**
* 获取classpath和当前类的绝对路径的一些方法
* @see http://sjsky.iteye.com
* @author michael sjsky007@gmail.com
*/
public class ClasspathUtil {
/**
* @param args
*/
public static void main(String[] args) {
// 一般推荐用此方法
// 获取当前ClassPath的绝对URI路径
System.out.println("Thread.currentThread().getContextClassLoader():");
System.out.println(Thread.currentThread().getContextClassLoader()
.getResource(""));
System.out.println("---------------------------------------");
System.out.println("ClasspathUtil.class.getResource:");
// 获取当前类文件的URI目录
System.out.println(ClasspathUtil.class.getResource(""));
// 获取当前的ClassPath的绝对URI路径。
System.out.println(ClasspathUtil.class.getResource("/"));
System.out.println("---------------------------------------");
System.out.println("ClasspathUtil.class.getClassLoader().getResource:");
// 获取当前ClassPath的绝对URI路径
System.out
.println(ClasspathUtil.class.getClassLoader().getResource(""));
System.out.println("---------------------------------------");
// 获取当前ClassPath的绝对URI路径
System.out.println("ClassLoader.getSystemResource:");
System.out.println(ClassLoader.getSystemResource(""));
System.out.println("---------------------------------------");
System.out.println("System.getProperty:");
// 对于一般项目,这是项目的根路径。对于JavaEE服务器,这可能是服务器的某个路径。
// 这个并没有统一的规范!所以,绝对不要使用“相对于当前用户目录的相对路径”。
System.out.println(System.getProperty("user.dir"));
System.out.println("---------------------------------------");
}
}
运行结果如下:
[quote]
Thread.currentThread().getContextClassLoader():
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/michael/utils/
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClasspathUtil.class.getClassLoader().getResource:
file:/D:/J2EE_sjsky/current/06Coding/project/target/classes/
---------------------------------------
ClassLoader.getSystemResource:
file:/D:/current/06Coding/project/target/classes/
---------------------------------------
System.getProperty:
D:\J2EE_sjsky\current\06Coding\project
---------------------------------------
[/quote]
转载请注明来自:Michael's blog @ [url=http://sjsky.iteye.com]http://sjsky.iteye.com[/url]
-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------