從網上收集的一些關於java擷取作業系統資訊的方法,現在總結一下:
1、String OS = System.getProperty("os.name").toLowerCase();
2、
1擷取原生IP地址:
Java代碼
private static String getIpAddress() throws UnknownHostException {
InetAddress address = InetAddress.getLocalHost();
return address.getHostAddress();
}
private static String getIpAddress() throws UnknownHostException {
InetAddress address = InetAddress.getLocalHost();
return address.getHostAddress();
}
2獲得網卡地址
Java代碼
public static String getMACAddress(){
String address = "";
String os = System.getProperty("os.name");
String osUser=System.getProperty("user.name");
if (os != null && os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br =new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
}
catch (IOException e) {
}
}
return address;
}
public static String getMACAddress(){
String address = "";
String os = System.getProperty("os.name");
String osUser=System.getProperty("user.name");
if (os != null && os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader br =new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") > 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
}
catch (IOException e) {
}
}
return address;
}
3獲得作業系統帳號
Java代碼
String osUser=System.getProperty("user.name");
String osUser=System.getProperty("user.name");
4獲得作業系統版本
Java代碼
import java.util.Properties;
Properties props=System.getProperties(); //獲得系統屬性集
String osName = props.getProperty("os.name"); //作業系統名稱
String osArch = props.getProperty("os.arch"); //作業系統構架
String osVersion = props.getProperty("os.version"); //作業系統版本
import java.util.Properties;
Properties props=System.getProperties(); //獲得系統屬性集
String osName = props.getProperty("os.name"); //作業系統名稱
String osArch = props.getProperty("os.arch"); //作業系統構架
String osVersion = props.getProperty("os.version"); //作業系統版本
5一些常用的資訊獲得
Java代碼
public static String getProperty(String key)
鍵 相關值的描述
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 使用者的當前工作目錄