可通过System.getenv(“name”)获取指定环境变量,如HOME、PATH等;2. 调用System.getenv()返回map获取所有环境变量;3. 判断返回值是否为NULL可确认变量是否存在;4. 环境变量在jvm启动时固化,不支持写入,需结合部署环境配置。

在Java中,可以通过 System.getenv() 方法读取操作系统的环境变量。这个方法提供了访问系统环境的能力,常用于获取配置信息,比如数据库地址、密钥或运行模式等。
1. 读取指定环境变量
使用 System.getenv(String name) 可以根据名称获取某个环境变量的值。
String home = System.getenv(“HOME”);
System.out.println(“Home目录: ” + home);
如果该环境变量存在,返回其字符串值;否则返回 null。常见的环境变量包括:
2. 获取所有环境变量
调用无参的 System.getenv() 返回一个不可修改的 Map<String, String>,包含所有环境变量。
立即学习“Java免费学习笔记(深入)”;
Map
for (String key : env.keySet()) {
System.out.println(key + ” = ” + env.get(key));
}
这在调试或查看当前运行环境配置时很有用。
3. 判断环境变量是否存在
由于不存在的环境变量会返回 null,可以直接做空值判断:
String profile = System.getenv(“ENV_PROFILE”);
if (profile != null && profile.equals(“prod”)) {
System.out.println(“当前为生产环境”);
}
4. 注意事项
环境变量在程序启动时就被固定,后续操作系统中修改不会动态反映到正在运行的Java应用中。
某些ide(如IntelliJ idea或eclipse)允许在运行配置中设置环境变量,便于开发测试。
在容器化部署(如docker)中,通常通过 -e 参数传递环境变量给Java进程。
基本上就这些。System.getenv 使用简单,适合读取外部配置,但不支持写入。需要配合实际部署环境合理使用。


