简介

说明

        本文用示例介绍Java获得环境变量的方法:System.getenv。

System.getenv与System.getProperty的区别

属性(System.getProperty) 环境变量(System.getenv
运行时是否可修改 可以 不可以
有效范围 仅在java平台中有效 系统里所有程序都有效
创建的时机 打包应用时属性必须存在 可以在任何时候创建环境变量

相关网址

System.getProperty用法:

常用方法

方法 作用
System.getenv() 获得所有环境变量
System.getenv(String name) 获得名为name的属性的值。

获得自定义的环境变量

现在指定JAVA_HOME环境变量,值为JDK路径,如下图所示:

package com.example.a;
 
public class Demo {
    public static void main(String[] args) {
        String javaHome = System.getenv("JAVA_HOME");
        System.out.println("javaHome的值:"   javaHome);
    }
}

执行结果(直接执行或者打成jar包来执行都可以)

打印所有的环境变量

package com.example.a;
 
import java.util.Map;
 
public class Demo {
    public static void main(String[] args) {
        Map<String, String> envMap = System.getenv();
        for (Map.Entry<String, String> entry : envMap.entrySet()) {
            System.out.println(entry.getKey()   ":"   entry.getValue());
        }
    }
}

执行结果:

USERDOMAIN_ROAMINGPROFILE:DESKTOP-QI6B9ME
NVM_SYMLINK:D:\Program Files\dev\nvm\symlink
PROCESSOR_LEVEL:23
SESSIONNAME:Console
ALLUSERSPROFILE:C:\ProgramData
PROCESSOR_ARCHITECTURE:AMD64
PSModulePath:C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
SystemDrive:C:
MAVEN_HOME:E:\work\maven\apache-maven-3.6.3
MOZ_PLUGIN_PATH:D:\Program Files (x86)\Foxit Software\Foxit Reader\plugins\
USERNAME:knife
ProgramFiles(x86):C:\Program Files (x86)
FPS_BROWSER_USER_PROFILE_STRING:Default
PATHEXT:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
DriverData:C:\Windows\System32\Drivers\DriverData
ProgramData:C:\ProgramData
ProgramW6432:C:\Program Files
HOMEPATH:\Users\knife
PROCESSOR_IDENTIFIER:AMD64 Family 23 Model 96 Stepping 1, AuthenticAMD
HADOOP_HOME:D:\dev\bigdata\hadoop-3.2.2
M2_HOME:E:\work\maven\apache-maven-3.6.3
ProgramFiles:C:\Program Files
PUBLIC:C:\Users\Public
windir:C:\WINDOWS
=:::::\
LOCALAPPDATA:C:\Users\knife\AppData\Local
USERDOMAIN:DESKTOP-QI6B9ME
FPS_BROWSER_APP_PROFILE_STRING:Internet Explorer
LOGONSERVER:\\DESKTOP-QI6B9ME
JAVA_HOME:D:\dev\Java\jdk1.8.0_201
WebStorm:D:\Program Files\JetBrains\WebStorm 2021.1.3\bin;
OneDrive:C:\Users\knife\OneDrive
APPDATA:C:\Users\knife\AppData\Roaming
CommonProgramFiles:C:\Program Files\Common Files
Path:C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;d:\Program Files\Git\cmd;D:\dev\Java\jdk1.8.0_201\bin;E:\work\maven\apache-maven-3.6.3\bin;D:\Program Files\mysql-8.0.21-winx64\bin;E:\work\npm\node_global;D:\dev\nodejs\;D:\dev\bigdata\hadoop-3.2.2\bin;D:\dev\bigdata\scala-2.12-13\bin;C:\Users\knife\AppData\Local\Microsoft\WindowsApps;D:\Program Files\JetBrains\WebStorm 2021.1.3\bin;;D:\Program Files\dev\nvm\symlink;C:\Users\knife\AppData\Roaming\npm;
OS:Windows_NT
COMPUTERNAME:DESKTOP-QI6B9ME
PROCESSOR_REVISION:6001
CommonProgramW6432:C:\Program Files\Common Files
ComSpec:C:\WINDOWS\system32\cmd.exe
WXDRIVE_START_ARGS:--wxdrive-setting=0 --disable-gpu --disable-software-rasterizer --enable-features=NetworkServiceInProcess
SystemRoot:C:\WINDOWS
TEMP:C:\Users\knife\AppData\Local\Temp
HOMEDRIVE:C:
USERPROFILE:C:\Users\knife
TMP:C:\Users\knife\AppData\Local\Temp
CommonProgramFiles(x86):C:\Program Files (x86)\Common Files
NUMBER_OF_PROCESSORS:12
IDEA_INITIAL_DIRECTORY:C:\Users\knife\Desktop

默认环境变量及其含义

环境变量

含义

USERPROFILE

用户目录

USERDNSDOMAIN

用户域

PATHEXT

可执行后缀

JAVA_HOME

Java安装目录

TEMP

用户临时文件目录

SystemDrive

系统盘符

ProgramFiles

默认程序目录

USERDOMAIN

帐户的域的名称

ALLUSERSPROFILE

用户公共目录

SESSIONNAME

Session名称

TMP

临时目录

Path

path环境变量

CLASSPATH

classpath环境变量

PROCESSOR_ARCHITECTURE

处理器体系结构

OS

操作系统类型

PROCESSOR_LEVEL

处理级别

COMPUTERNAME

计算机名

Windir

系统安装目录

SystemRoot

系统启动目录

USERNAME

用户名

ComSpec

命令行解释器可执行程序的准确路径

APPDATA

应用程序数据目录

到此这篇关于Java获取环境变量(System.getenv)的方法的文章就介绍到这了,更多相关Java获取环境变量内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

Java获取环境变量(System.getenv)的方法的更多相关文章

  1. ios – 存档期间不存在Xcode环境变量

    我有一个具有TestFlight构建方案的iOS应用程序.在此方案中,我在“运行”选项卡中设置了一个称为TESTFLIGHT的环境变量,值为1.此外,在构建方案的“配置文件”选项卡中,它已选中“使用RUn操作的参数和变量”选项,并在列表中看到相应的EV.当从Xcode运行应用程序时,这可以正常工作,但是当我在存储设备上运行应用程序时,环境变量TESTFLIGHT不存在.我的问题是有一个我在这里缺少的选项/方案选项卡?

  2. Ubantu下配置swift开发环境

    恭喜.现在可以直接在这里写入临时的swift代码,注意是临时的.如果想要写swift,需要新建一个文件,比如touchhello.swift.用vim打开,在里面写入HelloWorld的代码,保存退出.编译上面的代码源文件,打开终端,找到源代码所在目录,输入命令swiftchello.swift,即可编译,如果没有出现错误,则说明编译成功.运行上面的hello,编译之后会出现一个新文件hello;这是ubantu的可执行文件,直接输入./hello即可执行

  3. android – 错误:程序“/ndk-build.cmd”在PATH中找不到

    按钮在出现的框中,选择名称字段并键入NDKROOT.在您解压缩AndroidNDK的路径中的值类型的字段中.点击“应用”,完成,对依赖NDK的任何其他项目进行此操作.

  4. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  7. Java实现世界上最快的排序算法Timsort的示例代码

    Timsort 是一个混合、稳定的排序算法,简单来说就是归并排序和二分插入排序算法的混合体,号称世界上最好的排序算法。本文将详解Timsort算法是定义与实现,需要的可以参考一下

  8. Java日期工具类的封装详解

    在日常的开发中,我们难免会对日期格式化,对日期进行计算,对日期进行校验,为了避免重复写这些琐碎的逻辑,我这里封装了一个日期工具类,方便以后使用,直接复制代码到项目中即可使用,需要的可以参考一下

  9. Java设计模式之模板方法模式Template Method Pattern详解

    在我们实际开发中,如果一个方法极其复杂时,如果我们将所有的逻辑写在一个方法中,那维护起来就很困难,要替换某些步骤时都要重新写,这样代码的扩展性就很差,当遇到这种情况就要考虑今天的主角——模板方法模式

  10. Java 中 Class Path 和 Package的使用详解

    这篇文章主要介绍了Java 中 Class Path和Package的使用详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

随机推荐

  1. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  4. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  5. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  6. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  7. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  8. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  9. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. Spring JdbcTemplate执行数据库操作详解

    JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错,这篇文章主要介绍了Spring JdbcTemplate执行数据库操作,需要的朋友可以参考下

返回
顶部