(1)Test.class.getResource(""):得到當前生成的class的絕對路徑(此方法在jar包中無效,由於他得到的是生成的class的路徑,返回的內容最後包含/) java
(2)this.getClass().getClassLoader().getResource(""):方法得到相對路徑(此方法在jar包中無效。返回的內容最後包含/) web
(3)System.getProperty():函數獲取當前路徑,獲得項目文件夾的根目錄,不帶/ 函數
(4)File類:使用File提供的函數獲取當前路徑 this
File directory = new File("");//設定爲當前文件夾 spa
try { get
System.out.println(directory.getCanonicalPath());//獲取標準的路徑 io
System.out.println(directory.getAbsolutePath());//獲取絕對路徑 class
} catch (Exceptin e) {} request
(5)web 項目中: 方法
request.getRealPath(""):根目錄爲web應用目錄
request.getContextPath():返回相對於web應用根目錄的路徑
request.getSession().getServletContext().getRealPath("")
request.getServletPath(""):返回URI
經過java中的Object.class.getResource和getClass().getResource() 獲取相應class文件所在的根目錄
根目錄:這裏所指的根目錄是以class文件對應包所在的目錄。
例:
Class Test {
…
Public void Test() {
String rootPath1 = Test.class.getResource("");
String rootPath2 = this.getClass().getClassLoader().getResource("");
}
…
}