我如何才能得到系统变量的值,这是目前在
MyComputer -> Properties -> Advanced -> Environment Variables -> System Variables
在Java中?
Edit
我已经使用了System.getenv()方法。
如果我给,它就是印刷价值
System.out.println(System.getenv("JAVA_HOME"));
如果我尝试对我创建的系统变量执行相同的操作,它会显示空值
System.out.println(System.getenv("DBE"));
为了澄清,系统变量与环境变量相同。用户环境变量是为每个用户设置的,并且随着不同的用户登录而不同。无论用户登录什么,系统范围内的环境变量都是相同的。
要在Java中访问系统变量或用户变量的当前值,请参见以下内容:
String javaHome = System.getenv("JAVA_HOME");
有关环境变量的更多信息,请参阅此维基百科页面。
此外,在调用Java之前,通过执行以下操作,确保您正在尝试读取的环境变量已正确设置:
echo %MYENVVAR%
您应该看到环境变量的值。如果不是,您可能需要重新打开shell (DOS)或注销并重新登录。
在获取系统/环境属性时,有一些值得关注的细节。
首先,System.getenv(String)是在很久以前引入的,然后被弃用了。弃用(愚蠢的IHMO)一直延续到JSE 1.4。
它在JSE 5中被重新引入。
这些是使用Windows中的环境变量面板设置的。在当前虚拟机关闭并退出CMD.exe实例之前,对变量的更改可能不会被拾取。
与环境属性相反,Java也有Java系统属性,可以通过system . getproperties()访问。这些变量可以在虚拟机启动时使用一系列-Dname=value命令行参数初始化。例如,属性maxInMemory和pagingDirectory的值在下面的命令中设置:
C:\> java.exe -DmaxInMemory=100M -DpagingDirectory=c:\temp -jar myApp.jar
这些属性可以在运行时修改,不受安全策略限制。