试试这个        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());
        }

解决方案 »

  1.   

    java.lang.Error: getenv no longer supported, use properties and -D instead: SystemRoot
    at java.lang.System.getenv(Unknown Source)
    at com.ssreader.getcount.main(getcount.java:179)
    Exception in thread "main"
      

  2.   

    要取的是系统的环境变量,不是java虚拟机的环境变量
      

  3.   

    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());
    }这个方法就是取得的系统变量
      

  4.   

    可能是版本不同吧,你们都是用1.5的
    这个笨方法可以
    Process proc = Runtime.getRuntime().exec("cmd /c echo %SystemRoot%");
    BufferedReader reader = new BufferedReader(
    new InputStreamReader(proc.getInputStream()));
    String systemPath = reader.readLine().trim();
      

  5.   

    jdk1.4的话不支持System.getenv();
    想取到%SystemRoot%的话只能在启动参数里加个-DSystemRoot=%SystemRoot%
    代码里通过System.getProperty("SystemRoot")来取
    java -DSystemRoot=%SystemRoot% ????