public class ResourcePathTest {
@Test
public void testResource(){
String path1=this.getClass().getResource("").getPath();
System.out.println(path1);
String path2=this.getClass().getResource("/").getPath();
System.out.println(path2);
String path3=this.getClass().getClassLoader().getResource("user.xml").getPath();
System.out.println(path3);
String path4=this.getClass().getClassLoader().getResource("").getPath();
System.out.println(path4);
}
}
/D:/MyeclipseWorkspace4/HZWASv6.5/WebRoot/WEB-INF/classes/com/linewell/test/sax/
/D:/MyeclipseWorkspace4/HZWASv6.5/WebRoot/WEB-INF/classes/
/D:/MyeclipseWorkspace4/HZWASv6.5/WebRoot/WEB-INF/classes/user.xml
/D:/MyeclipseWorkspace4/HZWASv6.5/WebRoot/WEB-INF/classes/
从上面可以看出,this.getClass().getResource("").getPath()是获取这个类所对应的classes文件所在路径。
this.getClass().getResource("/").getPath()是获取这个类的路径,也就是classpath路径。
this.getClass().getClassLoader().getResource("文件").getPath()是获取文件所在路径
this.getClass().getClassLoader().getResource("").getPath()也是获取classpath路径