1、全部方法汇总
(1)Test.class.getResource(""):获得当前生成的class的绝对路径(此方法在jar包中无效,因为他获得的是生成的class的路径,返回的内容最后包含/)
(2)this.getClass().getClassLoader().getResource(""):方法获得相对路径(此方法在jar包中无效。返回的内容最后包含/)
(3)System.getProperty():函数获取当前路径,得到项目文件夹的根目录,不带/
(4)File类:使用File提供的函数获取当前路径
File directory = new File("");//设定为当前文件夹
try {
System.out.println(directory.getCanonicalPath());//获取标准的路径
System.out.println(directory.getAbsolutePath());//获取绝对路径
} catch (Exceptin e) {}
(5)web项目中:
request.getRealPath(""):根目录为web应用目录
request.getContextPath():返回相对于web应用根目录的路径
request.getSession().getServletContext().getRealPath("")
request.getServletPath(""):返回URI
2、部分方法代码说明
通过java中的Object.class.getResource和getClass().getResource()获取相应class文件所在的根目录
根目录:这里所指的根目录是以class文件对应包所在的目录。
例:
Class Test {
…
Public void Test() {
String rootPath1 = Test.class.getResource("");
String rootPath2 = this.getClass().getClassLoader().getResource("");
}
…
}