packagecom.rapoo.middle.action;
importjava.io.BufferedReader;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.net.InetAddress;
importjava.net.NetworkInterface;
importjava.util.ArrayList;
importjava.util.Formatter;
importjava.util.List;
importjava.util.Locale;
importjava.util.Map;
importjava.util.Properties;
publicclassSystemUtil?{
//通過截取cmd流方式得到計算機的配置信息(不好)
publicstaticList?getIpAddress(){
Process?p?=null;
List?address??=newArrayList();
try{
p?=newProcessBuilder("ipconfig","/all").start();
}catch(Exception?e){
returnaddress;
}
StringBuffer?sb?=newStringBuffer();
//讀取進程輸出值
InputStream?inputStream?=?p.getInputStream();
BufferedReader?br?=newBufferedReader(newInputStreamReader(inputStream));
String?s?="";
try{
while((s=br.readLine())!=null){
sb.append(s+"\n");
}
}catch(Exception?e){
e.printStackTrace();
}finally{
try{
inputStream.close();
}catch(Exception?e){
e.printStackTrace();
}
}
System.out.println(sb);
returnaddress;
}
publicstaticvoidgetIpconfig(){
Map?map?=?System.getenv();
System.out.println(map.get("USERNAME"));//獲取用戶名
System.out.println(map.get("COMPUTERNAME"));//獲取計算機名
System.out.println(map.get("USERDOMAIN"));//獲取計算機域名
}
//得到計算機的ip地址和mac地址
publicstaticvoidgetConfig(){
try{
InetAddress?address?=?InetAddress.getLocalHost();
NetworkInterface?ni?=?NetworkInterface.getByInetAddress(address);
//ni.getInetAddresses().nextElement().getAddress();
byte[]?mac?=?ni.getHardwareAddress();
String?sIP?=?address.getHostAddress();
String?sMAC?="";
Formatter?formatter?=newFormatter();
for(inti?=0;?i?<?mac.length;?i++)?{
sMAC?=?formatter.format(Locale.getDefault(),"%02X%s",?mac[i],
(i?<?mac.length?-1)??"-":"").toString();
}
System.out.println("IP:"+?sIP);
System.out.println("MAC:"+?sMAC);
}catch(Exception?e){
e.printStackTrace();
}
}
//得到計算機的ip,名稱,操作系統(tǒng)名稱,操作系統(tǒng)版本
publicstaticvoidConfig(){
try{
InetAddress?addr?=?InetAddress.getLocalHost();
String?ip=addr.getHostAddress().toString();//獲取本機ip
String?hostName=addr.getHostName().toString();//獲取本機計算機名稱
System.out.println("本機IP:"+ip+"\n本機名稱:"+hostName);
Properties?props=System.getProperties();
System.out.println("操作系統(tǒng)的名稱:"+props.getProperty("os.name"));
System.out.println("操作系統(tǒng)的版本:"+props.getProperty("os.version"));
}catch(Exception?e){
e.printStackTrace();
}
}
//java環(huán)境
publicstaticvoidall(){
Properties?props=System.getProperties();
System.out.println("Java的運行環(huán)境版本:"+props.getProperty("java.version"));
System.out.println("Java的運行環(huán)境供應商:"+props.getProperty("java.vendor"));
System.out.println("Java供應商的URL:"+props.getProperty("java.vendor.url"));
System.out.println("Java的安裝路徑:"+props.getProperty("java.home"));
System.out.println("Java的虛擬機規(guī)范版本:"+props.getProperty("java.vm.specification.version"));
System.out.println("Java的虛擬機規(guī)范供應商:"+props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虛擬機規(guī)范名稱:"+props.getProperty("java.vm.specification.name"));
System.out.println("Java的虛擬機實現(xiàn)版本:"+props.getProperty("java.vm.version"));
System.out.println("Java的虛擬機實現(xiàn)供應商:"+props.getProperty("java.vm.vendor"));
System.out.println("Java的虛擬機實現(xiàn)名稱:"+props.getProperty("java.vm.name"));
System.out.println("Java運行時環(huán)境規(guī)范版本:"+props.getProperty("java.specification.version"));
System.out.println("Java運行時環(huán)境規(guī)范供應商:"+props.getProperty("java.specification.vender"));
System.out.println("Java運行時環(huán)境規(guī)范名稱:"+props.getProperty("java.specification.name"));
System.out.println("Java的類格式版本號:"+props.getProperty("java.class.version"));
System.out.println("Java的類路徑:"+props.getProperty("java.class.path"));
System.out.println("加載庫時搜索的路徑列表:"+props.getProperty("java.library.path"));
System.out.println("默認的臨時文件路徑:"+props.getProperty("java.io.tmpdir"));=
System.out.println("一個或多個擴展目錄的路徑:"+props.getProperty("java.ext.dirs"));
System.out.println("操作系統(tǒng)的名稱:"+props.getProperty("os.name"));
System.out.println("操作系統(tǒng)的構(gòu)架:"+props.getProperty("os.arch"));
System.out.println("操作系統(tǒng)的版本:"+props.getProperty("os.version"));
System.out.println("文件分隔符:"+props.getProperty("file.separator"));//在?unix?系統(tǒng)中是"/"
System.out.println("路徑分隔符:"+props.getProperty("path.separator"));//在?unix?系統(tǒng)中是":"
System.out.println("行分隔符:"+props.getProperty("line.separator"));//在?unix?系統(tǒng)中是"/n"
System.out.println("用戶的賬戶名稱:"+props.getProperty("user.name"));
System.out.println("用戶的主目錄:"+props.getProperty("user.home"));
System.out.println("用戶的當前工作目錄:"+props.getProperty("user.dir"));
}
publicstaticvoidmain(String[]?args)?{
Config();
//????????all();
}
}