靜態方法獲取類路徑
阿新 • • 發佈:2019-01-26
在一般的非靜態方法中獲取類路徑,用:
this.getClass().getResource("/").getPath().subString(1);
如何在靜態方法中獲取類路徑?由於是靜態方法,所以無法獲得類的例項,如果用:
類名.class.getClass().getResource("/").getPath().substring(1);
會報空指標異常;如果用:
類名.class.getClassLoader().getResource("/").getPath().substring(1);
String path = new Object() {
public String getPath() {
return this.getClass().getResource("/").getPath();
}
}.getPath().substring(1);
另外,
this.getClass().getResource("/").getPath().substring(1);
獲取的是主目錄(classes目錄),而
this.getClass().getResource("").getPath().substring(1);
獲取的是檔案路徑。