java中獲取類加載路徑和項目根路徑的5種方法

https://www.cnblogs.com/franson-2016/p/6163422.html

import java.io.File;
 import java.io.IOException;
 import java.net.URL;

 public class MyUrlDemo {

     
     public static void main(String[] args) {
         MyUrlDemo muDemo = new MyUrlDemo();
         try {
             muDemo.showURL();
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }

     public void showURL() throws IOException {

         // 第一種:獲取類加載的根路徑   D:\git\daotie\daotie\target\classes
         File f = new File(this.getClass().getResource("/").getPath());
         System.out.println(f);

         // 獲取當前類的所在工程路徑; 如果不加“/”  獲取當前類的加載目錄  D:\git\daotie\daotie\target\classes\my
         File f2 = new File(this.getClass().getResource("").getPath());
         System.out.println(f2);

         // 第二種:獲取項目路徑    D:\git\daotie\daotie
         File directory = new File("");// 參數爲空
         String courseFile = directory.getCanonicalPath();
         System.out.println(courseFile);

 
         // 第三種:  file:/D:/git/daotie/daotie/target/classes/
         URL xmlpath = this.getClass().getClassLoader().getResource("");
         System.out.println(xmlpath);

 
         // 第四種: D:\git\daotie\daotie
         System.out.println(System.getProperty("user.dir"));
         /*
          * 結果: C:\Documents and Settings\Administrator\workspace\projectName
          * 獲取當前工程路徑
          */

         // 第五種:  獲取所有的類路徑 包括jar包的路徑
         System.out.println(System.getProperty("java.class.path"));

     }
 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章