1. 程式人生 > >靜態方法獲取類路徑

靜態方法獲取類路徑

在一般的非靜態方法中獲取類路徑,用:

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);

獲取的是檔案路徑。