在开发中经常会碰到要获取绝对路径的方法,尤其是在要解析一些配置文件或属性文件的时候,经常跳出IOException:找不到文件或路径,让我头痛不已。
一、普通应用中获取绝对路径的方法
String name=Test.class.getResource("Test.class;
执行结果如下:
file:/F:/workspace/testeasyjdb/WebRoot/WEB-INF/classes/hing/test/Test.class
得到了这个绝对路径,要找资源位置所在就非常方便了,一般都是放在classes目录下的。据说用Test.class.getResource("/")获取的当前Classpath的路径,不过我没去试。
二、JSP/Servlet中获得当前应用的相对路径和绝对路径(这段是从网上抄来的)
JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
Servlet中的方法也基本差不多