1. 程式人生 > >Java獲得類路徑的幾種方式

Java獲得類路徑的幾種方式

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


     }
 }