我们知道有:System.getenv(String key);
那么如何实现System.setenv()?Process p = Runtime.getRuntime().exec("cmd /c set aa=bb");
InputStream in = p.getInputStream();
while(in.read() > 0);
System.out.println(System.getenv("aa"));输出结果是null。不要告诉我用System.setProperty()来代替。

解决方案 »

  1.   

    这是 getenv 是获得系统的环境变量,对于 Java 来说不能更改任何应由操作系统控制的东西
      

  2.   

    简单地说,如果不调用系统 API 那是做不到的!
      

  3.   

    System.getenv返回的变量值,在虚拟机启动之后就不刷新了吧查看 System.getenv
    查看 ProcessEnvironment.theUnmodifiableEnvironment
      

  4.   

    就是的,根本就没更改,当然取出来是空了!不是System.getenv的问题!随便取个path中设置过的,能取出来的!