试试这个 Map map = System.getenv() ;
Iterator i = map.entrySet().iterator() ;
while(i.hasNext())
{
Map.Entry entry = (Map.Entry) i.next();
System.out.println(entry.getKey()+"="+entry.getValue());
}
Iterator i = map.entrySet().iterator() ;
while(i.hasNext())
{
Map.Entry entry = (Map.Entry) i.next();
System.out.println(entry.getKey()+"="+entry.getValue());
}
at java.lang.System.getenv(Unknown Source)
at com.ssreader.getcount.main(getcount.java:179)
Exception in thread "main"
Iterator i = map.entrySet().iterator() ;
while(i.hasNext())
{
Map.Entry entry = (Map.Entry) i.next();
System.out.println(entry.getKey()+"="+entry.getValue());
}这个方法就是取得的系统变量
这个笨方法可以
Process proc = Runtime.getRuntime().exec("cmd /c echo %SystemRoot%");
BufferedReader reader = new BufferedReader(
new InputStreamReader(proc.getInputStream()));
String systemPath = reader.readLine().trim();
想取到%SystemRoot%的话只能在启动参数里加个-DSystemRoot=%SystemRoot%
代码里通过System.getProperty("SystemRoot")来取
java -DSystemRoot=%SystemRoot% ????