我们可以在Java中读取OS环境变量吗?

 汐玉Shining 发布于 2023-02-10 10:54

我的操作系统是windows7.我想在我的Java应用程序中读取环境变量.我搜索谷歌和很多人的答案是使用方法 System.getProperty(String name)System.getenv(String name).但它似乎没有用.通过该方法,我可以读取JVM中定义的一些变量值.

如果我设置一个名为"Config"的环境变量,其值为"some config infomations",我如何在Java中获取该值?

谢谢你的帮助!

2 个回答
  • 您应该使用System.getenv(),例如:

    import java.util.Map;
    
    public class EnvMap {
        public static void main (String[] args) {
            Map<String, String> env = System.getenv();
            for (String envName : env.keySet()) {
                System.out.format("%s=%s%n",
                                  envName,
                                  env.get(envName));
            }
        }
    }
    

    从IDE运行时,您可以定义将传递给Java应用程序的其他环境变量.例如,在IntelliJ IDEA中,您可以在运行配置的"环境变量"字段中添加环境变量.

    注意(如@vikingsteve的评论中所述),JVM与任何其他Windows可执行文件一样,对环境变量的系统级更改仅在重新启动时传播到进程.

    有关更多信息,请查看Java教程的" 环境变量 "部分.

    System.getProperty(String name)用于获取非环境变量的Java 系统属性.

    2023-02-10 10:55 回答
  • 如果有人来到这里并想知道如何获得一个特定的环境变量而不循环遍历您可以使用的所有系统变量getenv(String name).它返回"变量的字符串值,如果未在系统环境中定义变量,则返回null".

    String myEnv = System.getenv("env_name");
    

    2023-02-10 10:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有