当前位置:  开发笔记 > 编程语言 > 正文

如何在Java中获取System变量值?

如何解决《如何在Java中获取System变量值?》经验,为你挑选了5个好方法。

如何获取存在的系统变量值

System.getenv()

在Java?

编辑
我用过的null方法.

如果我给,它是印刷价值

MyComputer -> Properties -> Advanced -> Environment Variables -> System Variables

System.getenv()如果我对我创建的系统变量尝试相同的话,它就会显示出来

System.out.println(System.getenv("JAVA_HOME"));

Rob.. 171

使用该System.getenv(String)方法,传递要读取的变量的名称.



1> Rob..:

使用该System.getenv(String)方法,传递要读取的变量的名称.



2> Elijah..:

为了澄清,系统变量与环境变量相同.用户环境变量是按用户设置的,并且每当有不同的用户登录时都是不同的.无论用户登录什么,系统范围的环境变量都是相同的.

要访问系统范围变量的当前值或Java中的用户变量,请参阅以下内容:

String javaHome = System.getenv("JAVA_HOME");

有关环境变量的更多信息,请参阅此维基百科页面.

通过执行以下操作,还要确保在调用Java之前正确设置了您尝试读取的环境变量:

echo %MYENVVAR%

您应该看到环境变量的值.如果没有,您可能需要重新打开shell(DOS)或注销并重新登录.


`getenv`应该是小的而不是`getEnv`对吗?
@dialex`%var%`用于windows,`$ var`用于unix/linux/MacOS系统.

3> Dilum Ranatu..:

获取系统/环境属性时,有一些感兴趣的细节.

首先,System.getenv(String)介绍了回溯时间,然后弃用.弃用(愚蠢地,IHMO)一直持续到JSE 1.4.

它在JSE 5中重新引入.

这些是使用Windows中的"环境变量"面板设置的.在当前VM关闭之前,可能无法获取对变量的更改,并且退出CMD.exe实例.

与环境属性相比,Java还具有可通过的Java系统属性System.getProperties().使用一系列命令行参数启动VM时,可以初始化这些变量.例如,对于属性的值和在下面的命令设置的:-Dname=valuemaxInMemorypagingDirectory

C:\> java.exe -DmaxInMemory=100M -DpagingDirectory=c:\temp -jar myApp.jar

除非安全策略限制,否则可以在运行时修改这些属性.


=


4> EliuX..:

实际上变量可以设置或不设置,因此,在Java 8或更高版本中,它的可空值应该被包装到一个Optional对象中,这允许非常好的特性.在下面的示例中,我们将尝试获取变量ENV_VAR1,如果它不存在,我们可能会抛出一些自定义异常来提醒它:

String ENV_VAR1 = Optional.ofNullable(System.getenv("ENV_VAR1")).orElseThrow(
  () -> new CustomException("ENV_VAR1 is not set in the environment"));



5> Chris Bunch..:

Google表示要查看getenv():

返回当前系统环境的不可修改的字符串映射视图.

但是,我不确定系统变量与环境变量的区别,所以如果你能澄清我可以提供更多帮助.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有