System.getenv() 與System.getProperty()用法區別

一、[b]java System.getenv()[/b] 與[b]System.getProperty()[/b]用法區別

System.getenv()可以得到系統的所有環境變量
System.getenv(key)可得到系統的某個環境變量

Map map = System.getenv();
Iterator envIt = map.entrySet().iterator();
while(envIt.hasNext())
{
Entry entry = (Entry)envIt.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}

// 可獲取所有環境變量的路徑
String java_home = System.getenv("JAVA_HOME");
System.out.println("java_home = " + java_home);


而System.getProperty可以獲取系統變量
System.getProperties()獲取所有的系統變量
System.getProperty(key)獲取某個系統變量

Properties properties = System.getProperties();
Iterator proIt = properties.entrySet().iterator();
while(proIt.hasNext())
{
Entry entry = (Entry)proIt.next();
System.out.println(entry.getKey() + " = " + entry.getValue());
}


String separator =System.getProperty("file.separator");
System.out.println("file.separator= "+ separator);


二、[b]System[/b]原理

System是在lang包中的一個類,這個類中存在大量和系統打交道的實用方法
而且一般都是類方法,.getProperty(String key)就是其中一個比較常用的
方法,用於返回系統參數文件中這個方法指定鍵所代表的值。由於java是一
種跨平臺語言,而不同的操作系統都不一樣,比如文件分隔符,在window
下爲“\”,而在unix下就成了"\\",這種情況下要想使程序跨平臺,就可以
使用這個方法把代表分隔符的那個鍵的值取到用到程序中。

這些變量通常與你的程序本身沒有關係,而是和你的機器的配置和操作系統等有關。
發佈了117 篇原創文章 · 獲贊 2 · 訪問量 9020
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章