Java中系統屬性Properties介紹 System.getProperty()引數大全

afei3418發表於2015-12-23
在JDK文件中System類中有這樣的方法getProperties()在此方法的詳細介紹中有下面的引數可供使用:

java.version Java 執行時環境版本
java.vendor Java 執行時環境供應商
java.vendor.url Java 供應商的 URL
java.home Java 安裝目錄
java.vm.specification.version Java 虛擬機器規範版本
java.vm.specification.vendor Java 虛擬機器規範供應
java.vm.specification.name Java 虛擬機器規範名稱
java.vm.version Java 虛擬機器實現版本
java.vm.vendor Java 虛擬機器實現供應商
java.vm.name Java 虛擬機器實現名稱
java.specification.version Java 執行時環境規範版本
java.specification.vendor Java 執行時環境規範供應商
java.specification.name Java 執行時環境規範名稱
java.class.version Java 類格式版本號
java.class.path Java 類路徑
java.library.path 載入庫時搜尋的路徑列表
java.io.tmpdir 預設的臨時檔案路徑
java.compiler 要使用的 JIT 編譯器的名稱
java.ext.dirs 一個或多個擴充套件目錄的路徑
os.name 作業系統的名稱
os.arch 作業系統的架構
os.version 作業系統的版本
file.separator 檔案分隔符(在 UNIX 系統中是“/”)
path.separator 路徑分隔符(在 UNIX 系統中是“:”)
line.separator 行分隔符(在 UNIX 系統中是“/n”)
user.name 使用者的賬戶名稱
user.home 使用者的主目錄
user.dir 使用者的當前工作目錄

下面是針對這些引數進行的一個測試,程式碼如下:
import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Properties; import java.util.Set; public class MyJavaMain { 
public static void main(String[] args) throws Exception { 
//通過StringBuilder來構建要輸出的內容 StringBuilder sb = new StringBuilder(); 
	sb.append("Java 執行時環境版本:"+System.getProperty("java.version")+"\n"); 
	sb.append("Java 執行時環境供應商:"+System.getProperty("java.vendor")+"\n"); 
	sb.append("Java 供應商的URL:"+System.getProperty("java.vendor.url")+"\n"); 
	sb.append("Java 安裝目錄:"+System.getProperty("java.home")+"\n"); 
	sb.append("Java 虛擬機器規範版本:"+System.getProperty("java.vm.specification.version")+"\n"); 
	sb.append("Java 類格式版本號:"+System.getProperty("java.class.version")+"\n"); 
	sb.append("Java類路徑:"+System.getProperty("java.class.path")+"\n"); 
	sb.append("載入庫時搜尋的路徑列表:"+System.getProperty("java.library.path")+"\n"); 
	sb.append("預設的臨時檔案路徑:"+System.getProperty("java.io.tmpdir")+"\n"); 
	sb.append("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler")+"\n"); 
	sb.append("一個或多個擴充套件目錄的路徑:"+System.getProperty("java.ext.dirs")+"\n"); 
	sb.append("作業系統的名稱:"+System.getProperty("os.name")+"\n"); 
	sb.append("作業系統的架構:"+System.getProperty("os.arch")+"\n"); 
	sb.append("作業系統的版本:"+System.getProperty("os.version")+"\n"); 
	sb.append("檔案分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator")+"\n"); 
	sb.append("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator")+"\n"); 
	sb.append("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator")+"\n"); 
	sb.append("使用者的賬戶名稱:"+System.getProperty("user.name")+"\n"); 
	sb.append("使用者的主目錄:"+System.getProperty("user.home")+"\n"); 
	sb.append("使用者的當前工作目錄:"+System.getProperty("user.dir")+"\n"); 
//新建一個檔案,如果該檔案不存在則建立一個 File file = new File("c:\\t.txt"); 
	if( !file.exists()){ 
	file.createNewFile(); 
	} 
OutputStream ous = new FileOutputStream(file); 
//獲取系統的屬性 Properties ps = System.getProperties(); 
//獲得系統屬性中的鍵值 Set<String> set = ps.stringPropertyNames(); 
	for(String name: set){ 
		sb.append(name + " : " +ps.getProperty(name) + "\n"); 
		System.out.println(name + " : " +ps.getProperty(name) ); 
	} 
	ous.write(sb.toString().getBytes()); 
	ous.close(); 
	System.out.println(System.getProperty("os.name")); 
	System.out.println(System.getProperty("os.version")); 
	System.out.println("Java執行時環境版本:"+System.getProperty("java.version")); 
	System.out.println("Java 執行時環境供應商:"+System.getProperty("java.vendor")); 
	System.out.println("Java 供應商的URL:"+System.getProperty("java.vendor.url")); 
	System.out.println("Java 安裝目錄:"+System.getProperty("java.home")); 
	System.out.println("Java 虛擬機器規範版本:"+System.getProperty("java.vm.specification.version")); 
	System.out.println("Java 類格式版本號:"+System.getProperty("java.class.version")); 
	System.out.println("Java 類路徑:"+System.getProperty("java.class.path")); 
	System.out.println("載入庫時搜尋的路徑列表:"+System.getProperty("java.library.path")); 
	System.out.println("預設的臨時檔案路徑:"+System.getProperty("java.io.tmpdir")); 
	System.out.println("要使用的 JIT 編譯器的名稱:"+System.getProperty("java.compiler")); 
	System.out.println("一個或多個擴充套件目錄的路徑:"+System.getProperty("java.ext.dirs")); 
	System.out.println("作業系統的名稱:"+System.getProperty("os.name")); 
	System.out.println("作業系統的架構:"+System.getProperty("os.arch")); 
	System.out.println("作業系統的版本:"+System.getProperty("os.version")); 
	System.out.println("檔案分隔符(在 UNIX 系統中是“/”):"+System.getProperty("file.separator")); 
	System.out.println("路徑分隔符(在 UNIX 系統中是“:”):"+System.getProperty("path.separator")); 
	System.out.println("行分隔符(在 UNIX 系統中是“/n”):"+System.getProperty("line.separator")); 
	System.out.println("使用者的賬戶名稱:"+System.getProperty("user.name")); 
	System.out.println("使用者的主目錄:"+System.getProperty("user.home")); 
	System.out.println("使用者的當前工作目錄: "+System.getProperty("user.dir")); 
	InetAddress netAddress = getInetAddress(); 
	System.out.println("host ip:" + getHostIp(netAddress)); 
	System.out.println("host name:" + getHostName(netAddress)); 
} 
/** 
* 獲取本地主機 
* <A class=referer href="http://my.oschina.net/u/556800" target=_blank>@return</A> 
*/
public static InetAddress getInetAddress() { 
	try { 
		return InetAddress.getLocalHost(); 
	} catch (UnknownHostException e) { 
		System.out.println("unknown host!"); 
	} 
	return null; 
} 
/** 
* 通過InetAddress獲取本地Ip 
* @param netAddress 
* <A class=referer href="http://my.oschina.net/u/556800" target=_blank>@return</A> 
*/
public static String getHostIp(InetAddress netAddress) { 
	if (null == netAddress) { 
		return null; 
	} 
		String ip = netAddress.getHostAddress(); 
	return ip; 
} 
/** 
* 通過InetAddress獲取本地主機的名字 
* @param netAddress 
* <A class=referer href="http://my.oschina.net/u/556800" target=_blank>@return</A> 
*/
public static String getHostName(InetAddress netAddress) { 
	if (null == netAddress) { 
		return null; 
	} 
	String name = netAddress.getHostName(); 
		return name; 
	} 
}

相關文章