import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class SystemValue {
/**
* 使用System获取系统相关的值
*/
public static void getSystemProperties() {
Properties pp = System.getProperties();
System.out.println("System's Properties:");
System.out.println();
java.util.Enumeration en = pp.propertyNames();
while (en.hasMoreElements()) {
String nextE = (String) en.nextElement();
System.out.print(nextE + "=" + pp.getProperty(nextE));
System.out.println();
}
}
public static void getCustomProperties(String key) {
Map map = getEnv();
System.out.println(key + "=" + map.get(key));
}
public static Map getEnv() {
Map map = new HashMap();
Process p = null;
Runtime r = Runtime.getRuntime();
String OS = System.getProperty("os.name").toLowerCase();
System.out.println("OS="+OS);
try {
if (OS.indexOf("windows 9") > -1) {
p = r.exec("command.com /c set");
} else if ((OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 20") > -1)
|| (OS.indexOf("windows xp") > -1)) {
p = r.exec("cmd.exe /c set");
} else {
// Unix
p = r.exec("env");
}
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
String[] str = line.split("=");
map.put(str[0], str[1]);
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
return map;
}
public static void main(String[] args) {
// getSystemProperties();
getCustomProperties("JAVA_HOME");
}
}