Java獲取環(huán)境變量(System.getenv)的方法
簡介
說明
本文用示例介紹Java獲得環(huán)境變量的方法:System.getenv。
System.getenv與System.getProperty的區(qū)別
| 項 | 屬性(System.getProperty) | 環(huán)境變量(System.getenv) |
| 運(yùn)行時是否可修改 | 可以 | 不可以 |
| 有效范圍 | 僅在java平臺中有效 | 系統(tǒng)里所有程序都有效 |
| 創(chuàng)建的時機(jī) | 打包應(yīng)用時屬性必須存在 | 可以在任何時候創(chuàng)建環(huán)境變量 |
相關(guān)網(wǎng)址
System.getProperty用法:
常用方法
| 方法 | 作用 |
| System.getenv() | 獲得所有環(huán)境變量 |
| System.getenv(String name) | 獲得名為name的屬性的值。 |
獲得自定義的環(huán)境變量
現(xiàn)在指定JAVA_HOME環(huán)境變量,值為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);
}
}執(zhí)行結(jié)果(直接執(zhí)行或者打成jar包來執(zhí)行都可以)

打印所有的環(huán)境變量
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());
}
}
}執(zhí)行結(jié)果:
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
默認(rèn)環(huán)境變量及其含義
環(huán)境變量 | 含義 |
USERPROFILE | 用戶目錄 |
USERDNSDOMAIN | 用戶域 |
PATHEXT | 可執(zhí)行后綴 |
JAVA_HOME | Java安裝目錄 |
TEMP | 用戶臨時文件目錄 |
SystemDrive | 系統(tǒng)盤符 |
ProgramFiles | 默認(rèn)程序目錄 |
USERDOMAIN | 帳戶的域的名稱 |
ALLUSERSPROFILE | 用戶公共目錄 |
SESSIONNAME | Session名稱 |
TMP | 臨時目錄 |
Path | path環(huán)境變量 |
CLASSPATH | classpath環(huán)境變量 |
PROCESSOR_ARCHITECTURE | 處理器體系結(jié)構(gòu) |
OS | 操作系統(tǒng)類型 |
PROCESSOR_LEVEL | 處理級別 |
COMPUTERNAME | 計算機(jī)名 |
Windir | 系統(tǒng)安裝目錄 |
SystemRoot | 系統(tǒng)啟動目錄 |
USERNAME | 用戶名 |
ComSpec | 命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑 |
APPDATA | 應(yīng)用程序數(shù)據(jù)目錄 |
到此這篇關(guān)于Java獲取環(huán)境變量(System.getenv)的方法的文章就介紹到這了,更多相關(guān)Java獲取環(huán)境變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot中的JPA(Java?Persistence?API)詳解
這篇文章主要介紹了SpringBoot中的JPA(Java?Persistence?API)詳解,JPA用于將?Java?對象映射到關(guān)系型數(shù)據(jù)庫中,它提供了一種面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫,使得開發(fā)者可以更加方便地進(jìn)行數(shù)據(jù)持久化操作,需要的朋友可以參考下2023-07-07
Java 按照字節(jié)來截取字符串的代碼(不會出現(xiàn)半個漢字)
Java 按照字節(jié)來截取字符串的工具,不會出現(xiàn)半個漢字。一個中文兩個字節(jié),一個英文字符只占 1 個字節(jié)** 1. 通常我們用于前端顯示的時候,防止標(biāo)題過長2014-01-01
java新增關(guān)聯(lián)的三張表,每張表要求都插入集合,代碼實(shí)現(xiàn)方式
這篇文章主要介紹了java新增關(guān)聯(lián)的三張表,每張表要求都插入集合,代碼實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
Java模擬實(shí)現(xiàn)撲克牌洗牌和發(fā)牌的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Java模擬實(shí)現(xiàn)撲克牌洗牌和發(fā)牌的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-09-09
Redis使用RedisTemplate模板類的常用操作方式
這篇文章主要介紹了Redis使用RedisTemplate模板類的常用操作方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringMVC實(shí)現(xiàn)返回響應(yīng)的項目實(shí)踐
本文主要介紹了SpringMVC實(shí)現(xiàn)返回響應(yīng)的項目實(shí)踐,包含返回靜態(tài)頁面,返回數(shù)據(jù),返回html片段等實(shí)例,具有一定的參考價值,感興趣的可以了解一下2024-02-02
springboot + rabbitmq 如何實(shí)現(xiàn)消息確認(rèn)機(jī)制(踩坑經(jīng)驗(yàn))
這篇文章主要介紹了springboot + rabbitmq 如何實(shí)現(xiàn)消息確認(rèn)機(jī)制,本文給大家分享小編實(shí)際開發(fā)中的一點(diǎn)踩坑經(jīng)驗(yàn),內(nèi)容簡單易懂,需要的朋友可以參考下2020-07-07

