天天看点

java中得到classpath和当前类的绝对路径的一些方法(路径中的%20"进行替换空格)

原网址: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表示法。