java中获取项目路径的方法,以及static方法中获取项目路径的方法

首先介绍一下java中获取项目路径的常规方法:(根据个人需要看是否添加:.substring(1)去掉第一个字符"/")

 (1):this.getClass().getResource("xxx.xml").getPath();

 (2):file.getCanonicalPath();

 (3):this.getClass().getClassLoader();

 (4):System.getProperty("user.dir");

 (5):System.getProperty("java.class.path");

 (6):Thread.currentThread().getContentClassLoader();

 (7):request.getSession().getServletContext();

但是在static方法中不能使用this,如果使用:

类名.class.getClass().getResource("/").getPath().substring(1);

这种方法,运行编译时会报空指针异常,因此可以在static方法中使用如下方法获取路径:

public static void test() throws Exception {
		
		String xmlfilePath =new Object() {
	        public String getPath() {
	            return this.getClass().getResource("haarcascade_frontalface_alt.xml").getPath();
	        }
		}.getPath().substring(1);
}

 

你可能感兴趣的:(java开发)