详见: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
- String path = Test.class.getResource("/").toString();
- System.out.println("path = " + path);
- String path2 = Thread.currentThread().getContextClassLoader().getResource("/").getPath();
- System.out.println("path2 = " + path2);
没有之前的file可以直接使用。