Java获取classpath下的路径

来源:互联网 发布:netflix 获奖算法 编辑:程序博客网 时间:2024/05/21 12:40

详见:http://cheneyph.iteye.com/blog/831721

1.this.getClass().getResource("") 

得到的是当前类class文件的URI目录。不包括自己!
如:file:/D:/workspace/jbpmtest3/bin/com/test/

2.this.getClass().getResource("/") 
得到的是当前的classpath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

3.this.getClass() .getClassLoader().getResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

4.ClassLoader.getSystemResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

5.Thread.currentThread().getContextClassLoader ().getResource("") 
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/

6.ServletActionContext.getServletContext().getRealPath(“/”) 
Web应用程序 中,得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。

如:file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WebProject


实际上很多java程序是发布在linux下的,以tomcat为例那么获取路径为:

详见:http://blog.csdn.net/magi1201/article/details/18731581

  1. String path = Test.class.getResource("/").toString();   
  2. System.out.println("path = " + path);  
path = file:/home/ngidm_db2/AS_Tomcat7_0_29/webapps/NGIDM/WEB-INF/classes/

  1. String path2 = Thread.currentThread().getContextClassLoader().getResource("/").getPath();  
  2. System.out.println("path2 = " + path2);  
path2 = /home/ngidm_db2/AS_Tomcat7_0_29/webapps/NGIDM/WEB-INF/classes/

没有之前的file可以直接使用。

0 0
原创粉丝点击