經過java類獲取項目絕對路徑兩種方式

常常會遇到經過java類獲取項目路徑,而且經過該相對路徑或者絕對路徑加載資源文件的問題。一般最經常使用的的兩種方式是經過classLoader或者class的getResource()方法。java

其實就是clsssLoader獲取的路徑是相對於classPath的,class獲取的路徑是相對於該類的。web

public static final String getPath(){
		String path1 = Constant.class.getClassLoader().getResource("").getPath();
		String path2 = Constant.class.getClassLoader().getResource("/").getPath();
		String path3 = Constant.class.getResource("").getPath();
		String path4 = Constant.class.getResource("/").getPath();
		System.out.println(path1);
		System.out.println(path2);
		System.out.println(path3);
		System.out.println(path4);
		return path1;
	}

經過該段代碼的打印結果,能夠判斷path1,path2,path4都是獲得項目的classPath路徑,path3是獲得類的classPath路徑。spa

獲取到項目的classPath路徑,就能夠操做項目的各類資源文件了,還能夠在路徑的上層路徑添加文件夾或者文件。code

固然對於web項目有本身的方法,獲取項目路徑,以下資源

request.getSession().getServletContext().getRealPath("/xx");
相關文章
相關標籤/搜索