use*_*203 3 java variables environment-variables
我试图在java中获取用户环境变量.
该System.getEnv()方法仅返回系统环境变量.
有人知道如何获取用户环境变量吗?
运行流程时,只有一个环境.用户变量合并到系统变量中,并覆盖现有变量.然后通过该System.getenv()方法检索该完整环境.
所以你实际上看到了用户的环境变量.
我刚用这四种情况对它进行了测试:
1)没有名为的变量MYVAR:
运行System.out.println(System.getenv("MYVAR"))打印输出null.
2)MYVAR使用值调用的系统变量System:
运行System.out.println(System.getenv("MYVAR"))打印输出System.
3)MYVAR用值调用的用户变量User:
运行System.out.println(System.getenv("MYVAR"))打印输出User.
4)调用系统变量MYVAR具有值System和用户变量称为MYVAR与值User:
运行System.out.println(System.getenv("MYVAR"))打印输出User.
也许你是从IDE(如Eclipse)中尝试过的?更改环境变量时,遗憾的是必须重新启动Eclipse,因为它们未正确传播到运行配置.
System.getenv(String)是正确的方法;只有“环境变量” - Windows 将“系统”环境变量应用于每个人的帐户,但它们在应用程序级别上是不可区分的。您可以通过打开cmd提示并执行set(不带参数)来进行验证。