JAVA獲取系統(tǒng)變量

一.環(huán)境變量

注意: Linux下獲取值是用$,多個路徑分割是用:,Windows下獲取值是用%變量名%,多個路徑分割是用的;.

Windows 10:

SET 顯示售葡、設(shè)置或刪除 Windows 環(huán)境變量暖庄。
注意環(huán)境變量是不能通過java代碼來設(shè)置的.

  • 查看所有環(huán)境變量: set
  • 查看指定環(huán)境變量: set 環(huán)境變量名 eg: set path
  • 設(shè)置指定環(huán)境變量: set 環(huán)境變量名=值
    eg:覆蓋值:set path=d:\file;追加值:set path=%path%;d:\file (通過set命令設(shè)置的環(huán)境變量不是永久性的,只對當(dāng)前窗口有效)

永久性修改環(huán)境變量的方法:
我的電腦-〉屬性-〉高級,設(shè)置系統(tǒng)的環(huán)境變量.

Linux CentOS7:

注意: Linux下是嚴(yán)格區(qū)分大小的.

export 顯示蜕提、設(shè)置或刪除 Windows 環(huán)境變量余爆。

  • 查看所有環(huán)境變量: exportexport -p
  • 查看指定環(huán)境變量: echo $環(huán)境變量名 eg: echo $yves
  • 設(shè)置指定環(huán)境變量: export 環(huán)境變量名=值
    eg:覆蓋值:export PATH=/home/yves;追加值:export path=$PATH:/home/yves (通過export命令設(shè)置的環(huán)境變量不是永久性的,只對當(dāng)前窗口有效.)

永久性修改環(huán)境變量方法:在linux下可以設(shè)置用戶的環(huán)境變量(用戶目錄的.bash_profile);也可以設(shè)置系統(tǒng)的環(huán)境變量來使得環(huán)境變量永久生效(/etc/profile).


二.系統(tǒng)屬性 (特指Java中獲取的系統(tǒng)屬性)

  • 系統(tǒng)屬性的設(shè)置: 通過JVM參數(shù): -D屬性名=值 或者在代碼中通過Sytem.setProperty(String key, String value)來設(shè)置.
  • 系統(tǒng)屬性的獲取: 在Java中通過System.getProperty(String key)獲取屬性值.

三.附錄 (內(nèi)置的環(huán)境變量和內(nèi)置的系統(tǒng)屬性)

Windows10環(huán)境下通過CMD獲取的環(huán)境變量:

PATH也是環(huán)境變量,它是操作系統(tǒng)用于查找來自命令行或終端窗口的必需可執(zhí)行文件的系統(tǒng)變量澎迎。

C:\Users\User>SET
ALLUSERSPROFILE=C:\ProgramData
ANT_HOME=D:\ProgramFiles\ant-1.10.1
APPDATA=C:\Users\User\AppData\Roaming
CLASSPATH=.;D:\Java\jdk1.8.0_131\lib;D:\Java\jdk1.8.0_131\lib\tools.jar
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=HEYU
ComSpec=C:\Windows\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\Users\User
JAVA_HOME=D:\Java\jdk1.8.0_131
LOCALAPPDATA=C:\Users\User\AppData\Local
LOGONSERVER=\\HEYU
MAVEN_HOME=D:\ProgramFiles\maven3.5
MYSQL_HOME=D:\ProgramFiles\mysql-5.6.27-winx64
NUMBER_OF_PROCESSORS=3
OneDrive=C:\Users\User\OneDrive
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;D:\ProgramFiles\IDM Computer Solutions\UltraEdit;D:\Java\jdk1.8.0_131\bin;D:\Java\jdk1.8.0_131\jre\bin;D:\ProgramFiles\maven3.5\bin;D:\ProgramFiles\mysql-5.6.27-winx64\bin;D:\ProgramFiles\ant-1.10.1\bin;C:\Users\User\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 18 Model 1 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=18
PROCESSOR_REVISION=0100
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\User\AppData\Local\Temp
TMP=C:\Users\User\AppData\Local\Temp
USERDOMAIN=HEYU
USERDOMAIN_ROAMINGPROFILE=HEYU
USERNAME=User
USERPROFILE=C:\Users\User
windir=C:\Windows

Windows10環(huán)境下通過Java代碼獲取的環(huán)境變量:

    public static void main(String[] args) {
        Map<String, String> map = System.getenv();
        for (Iterator<String> itr = map.keySet().iterator(); itr.hasNext();) {
            String key = itr.next();
            System.out.println(key + "=" + map.get(key));
        }
    }

Windows10環(huán)境下的系統(tǒng)屬性:

    public static void main(String[] args) {
        Properties props = System.getProperties();
        props.list(System.out);
    }
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\Java\jdk1.7.0_79\jre\bin
java.vm.version=24.79-b02
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\workspace\Jasper-workspace\base64-...
java.runtime.version=1.7.0_79-b15
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\Java\jdk1.7.0_79\jre\lib\endorsed
os.arch=x86
java.io.tmpdir=C:\Users\User\AppData\Local\Temp\
line.separator=;
java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=D:\Java\jdk1.7.0_79\bin;C:\Windows\Su...
java.specification.name=Java Platform API Specification
java.class.version=51.0
sun.management.compiler=HotSpot Client Compiler
os.version=6.3
user.home=C:\Users\User
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.7
user.name=User
java.class.path=D:\workspace\Jasper-workspace\base64-...
java.vm.specification.version=1.7
sun.arch.data.model=32
java.home=D:\Java\jdk1.7.0_79\jre
sun.java.command=cn.com.yves.Test
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.7.0_79
java.ext.dirs=D:\Java\jdk1.7.0_79\jre\lib\ext;C:\Wi...
sun.boot.class.path=D:\Java\jdk1.7.0_79\jre\lib\resources...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=

常見重要的環(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       :計算機名
Windir             :系統(tǒng)安裝目錄
SystemRoot         :系統(tǒng)啟動目錄
USERNAME           :用戶名
ComSpec            :命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑
APPDATA            :應(yīng)用程序數(shù)據(jù)目錄

常見重要的系統(tǒng)屬性

java.version Java            :運行時環(huán)境版本
java.vendor Java             :運行時環(huán)境供應(yīng)商
java.vendor.url              :Java供應(yīng)商的 URL
java.home                    :Java安裝目錄
java.vm.specification.version: Java虛擬機規(guī)范版本
java.vm.specification.vendor :Java虛擬機規(guī)范供應(yīng)商
java.vm.specification.name   :Java虛擬機規(guī)范名稱
java.vm.version              :Java虛擬機實現(xiàn)版本
java.vm.vendor               :Java虛擬機實現(xiàn)供應(yīng)商
java.vm.name                 :Java虛擬機實現(xiàn)名稱
java.specification.version   :Java運行時環(huán)境規(guī)范版本
java.specification.vendor    :Java運行時環(huán)境規(guī)范供應(yīng)商
java.specification.name      :Java運行時環(huán)境規(guī)范名稱
java.class.version           :Java類格式版本號
java.class.path              :Java類路徑
java.library.path            :加載庫時搜索的路徑列表
java.io.tmpdir               :默認(rèn)的臨時文件路徑
java.compiler                :要使用的 JIT編譯器的名稱
java.ext.dirs                :一個或多個擴展目錄的路徑
os.name                      :操作系統(tǒng)的名稱
os.arch                      :操作系統(tǒng)的架構(gòu)
os.version                   :操作系統(tǒng)的版本
file.separator               :文件分隔符
path.separator               :路徑分隔符
line.separator               :行分隔符
user.name                    :用戶的賬戶名稱
user.home                    :用戶的主目錄
user.dir                     :用戶的當(dāng)前工作目錄

四.說明

系統(tǒng)屬性和環(huán)境變量都是名稱與值之間的映射送爸。兩種機制都能用來將用戶定義的信息傳遞給Java進程。環(huán)境變量產(chǎn)生更多的全局效應(yīng)顷编,因為它們不僅對Java子進程可見戚炫,而且對于定義它們的進程的所有子進程都是可見的。在不同的操作系統(tǒng)上媳纬,它們的語義有細微的差別双肤,比如,不區(qū)分大小寫钮惠。因此環(huán)境變量更可能有意料不到的副作用茅糜。程序中盡可能使用系統(tǒng)屬性。環(huán)境變量應(yīng)該在需要全局效應(yīng)的時候使用素挽,或者在外部系統(tǒng)接口要求使用環(huán)境變量時使用(比如 PATH)
轉(zhuǎn)自https://blog.csdn.net/u011479200/article/details/79200788

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔑赘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子预明,更是在濱河造成了極大的恐慌缩赛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撰糠,死亡現(xiàn)場離奇詭異酥馍,居然都是意外死亡,警方通過查閱死者的電腦和手機阅酪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門旨袒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人遮斥,你說我怎么就攤上這事峦失。” “怎么了术吗?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵尉辑,是天一觀的道長。 經(jīng)常有香客問我较屿,道長隧魄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任隘蝎,我火速辦了婚禮购啄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嘱么。我一直安慰自己狮含,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著几迄,像睡著了一般蔚龙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上映胁,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天木羹,我揣著相機與錄音,去河邊找鬼解孙。 笑死坑填,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弛姜。 我是一名探鬼主播脐瑰,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼娱据!你這毒婦竟也來了蚪黑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤中剩,失蹤者是張志新(化名)和其女友劉穎忌穿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體结啼,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡掠剑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了郊愧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片朴译。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖属铁,靈堂內(nèi)的尸體忽然破棺而出眠寿,到底是詐尸還是另有隱情,我是刑警寧澤焦蘑,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布盯拱,位于F島的核電站,受9級特大地震影響例嘱,放射性物質(zhì)發(fā)生泄漏狡逢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一拼卵、第九天 我趴在偏房一處隱蔽的房頂上張望奢浑。 院中可真熱鬧,春花似錦腋腮、人聲如沸雀彼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽详羡。三九已至仍律,卻和暖如春嘿悬,著一層夾襖步出監(jiān)牢的瞬間实柠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工善涨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留窒盐,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓钢拧,卻偏偏與公主長得像蟹漓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子源内,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,647評論 2 354