原网址:http://blog.csdn.net/shendl/article/details/1427475
(注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20"进行替换, 所以得到之后再将"%20"替换成空格)
下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。
1,filetest.class.getresource("");
filetest.class.getresource("../");//得到上一级
得到的是当前类filetest.class文件的uri目录。不包括自己!
如:file:/d:/java/eclipse32/workspace/jbpmtest3/bin/com/test/
2,filetest.class.getresource("/")
得到的是当前的classpath的绝对uri路径。
如:file:/d:/java/eclipse32/workspace/jbpmtest3/bin/
3,thread.currentthread().getcontextclassloader().getresource("")
得到的也是当前classpath的绝对uri路径。
如:file:/d:/java/eclipse32/workspace/jbpmtest3/bin/
4,filetest.class.getclassloader().getresource("")
得到的也是当前classpath的绝对uri路径。
如:file:/d:/java/eclipse32/workspace/jbpmtest3/bin/
5,classloader.getsystemresource("")
得到的也是当前classpath的绝对uri路径。
如:file:/d:/java/eclipse32/workspace/jbpmtest3/bin/
我推荐使用thread.currentthread().getcontextclassloader().getresource("")来得到当前的classpath的绝对路径的uri表示法。