可通过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。常见的环境变量包括:
- PATH:可执行文件搜索路径
- HOME(Linux/macOS)或 USERPROFILE(Windows):用户主目录
- JAVA_HOME:JDK安装路径
2. 获取所有环境变量
调用无参的 System.getenv() 返回一个不可修改的 Map
立即学习“Java免费学习笔记(深入)”;
Mapfor (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 使用简单,适合读取外部配置,但不支持写入。需要配合实际部署环境合理使用。










