獲取當前應用的系統路徑工具類和java的System.getProperty()方法介紹


  java的System.getProperty()方法可以獲取的值,如下:

 

 

  對於Java程序,無論是未打包的還是打包的JAR或WAR文件,有時候都需要獲取它運行所在目錄信息,如何做到這一點呢?  

 1 /**
 2  * 得到當前應用的系統路徑  3  */
 4 public class SystemPath {  5     
 6     /*replace和replaceAll是JAVA中常用的替換字符的方法,它們的區別是:  7  1)replace的參數是char和CharSequence,即可以支持字符的替換,也支持字符串的替換(CharSequence即字符串序列的意思,說白了也就是字符串);  8  2)replaceAll的參數是regex,即基於規則表達式的替換,比如,可以通過replaceAll("\\d", "*")把一個字符串所有的數字字符都換成星號;  9     */
10 
11     /**
12  * 得到當前應用的系統路徑 13      */
14     public static String getSysPath() { 15         //從classpath根開始查找
16         String path = Thread.currentThread().getContextClassLoader() 17                 .getResource("").toString(); 18         String temp = path.replaceFirst("file:/", "").replaceFirst( 19                 "WEB-INF/classes/", ""); 20         //文件分隔符(在 UNIX 系統中是“/”)
21         String separator = System.getProperty("file.separator"); 22         String resultPath = temp.replaceAll("/", separator + separator); 23         return resultPath; 24  } 25 
26     /**
27  * 得到當前應用生成class文件的系統路徑 28      */
29     public static String getClassPath() { 30         String path = Thread.currentThread().getContextClassLoader() 31                 .getResource("").toString(); 32         String temp = path.replaceFirst("file:/", ""); 33         String separator = System.getProperty("file.separator"); 34         String resultPath = temp.replaceAll("/", separator + separator); 35         return resultPath; 36  } 37 
38     /**
39  * 默認的臨時文件路徑 40      */
41     public static String getSystempPath() { 42         return System.getProperty("java.io.tmpdir"); 43  } 44 
45     /**
46  * 文件分隔符(在 UNIX 系統中是“/”) 47      */
48     public static String getSeparator() { 49         return System.getProperty("file.separator"); 50  } 51 
52     /**
53  * 控制台打印顯示 54      */
55     public static void main(String[] args) { 56  System.out.println(getSysPath()); 57         System.out.println(System.getProperty("java.io.tmpdir")); 58  System.out.println(getSeparator()); 59  System.out.println(getClassPath()); 60  } 61 }

 

1   文件終結符是 EOF, end of file
2   行分隔符在windows 下是 \r\n,在Linux下面是 \n, 在Mac下是 \r
3   路徑分隔符在windows下是 \ ,在LInux下是 /

 

轉載請注明出處!

http://www.cnblogs.com/libingbin/

感謝您的閱讀。如果文章對您有用,那么請輕輕點個贊,以資鼓勵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM