System.getProperties() 可以取得各種特性
F_GetExecProperty.java
package fothers;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
/**
* 取得執行時的各種特性(執行目錄等等)
* @author FoXx
*
*/
public class F_GetExecProperty {
static String execSimerPath = "";
/**
* 顯示支援的property(key&value)
*/
public static void showSupplyProperties() {
Properties pros = System.getProperties();
Set s = pros.keySet();
Iterator it = s.iterator();
while (it.hasNext()) {
String keystr = it.next().toString();
String tempstr2 = System.getProperty(keystr);
System.out.println("key: " + keystr + " ,value: " + tempstr2);
}
// String dir = System.getProperty("user.dir");
// java.version Java 執行時環境版本
// java.vendor Java 執行時還靜供應商
// java.vendor.url java供應商的url
// java.home Java 安裝目錄
// java.vm.specification.version Java 需尼機規範版本
// java.vm.specification.vendor Java 需尼機規範供應商
// java.vm.specification.name Java 需尼機規範名稱
// java.vm.version Java 需尼機實現版本
// java.vm.vendor Java 需尼機實現供應商
// java.vm.name Java 需尼機實現名稱
// java.specification.version java 運行實環境規範版本
// java.specification.vendor java 運行實環境規範供應商
// java.specification.name java 運行實環境規範名撐
// java.class.version Java 類格式版本號
// java.class.path Java 類路徑
// java.library.path 加載褲時搜尋的路徑列表
// java.io.tmpdir 默認的臨時文件路徑
// java.compiler 要使用的 JIT 編譯器的名稱
// java.ext.dirs 一個或多個擴展目錄的路徑
// os.name 操作系統名稱
// os.arch 操作系統架構
// os.version 操作系統名稱版本
// file.separator 文件分隔符 unix "/"
// path.separator 路徑分隔符 unix ":"
// line.separator 行分隔符 unix "/n"
// user.name 用戶的帳戶名稱
// user.home 用戶的主目錄
// user.dir 用戶的當前工作目路
}
/**
* 取得jar的所在目錄
*/
public static String getExecPath() {
String tempstr = "";
// 使用 System.getProperty 不會受 jsmooth 包檔影響
String local = System.getProperty("user.dir");
System.out.println("System.getProperty user.dir: " + local);
// 針對有單正斜線的路徑進行字串切割必須使用4個\\\\
// (如D:\workspace\Foxx\CheckLog_copy_0109_fix3)
String[] spilttemp = local.split("\\\\");
for (int i = 0; i < spilttemp.length; i++) {
// if(i<spilttemp.length-1){//-1:取得執行目錄的上層路徑,沒有-1取得全部路徑
tempstr = tempstr + spilttemp[i] + "\\\\";
// }
}
// execSimerPath = execSimerPath.substring(2);
System.out.println("tempstr: " + tempstr);
return tempstr;
}
}