Java獲取電腦IP、MAC、各種版本

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流方式得到計(jì)算機(jī)的配置信息(不好)

publicstaticList?getIpAddress(){
Process?p?=null;
List?address??=newArrayList();
try{
p?=newProcessBuilder("ipconfig","/all").start();
}catch(Exception?e){
returnaddress;
}

StringBuffer?sb?=newStringBuffer();
//讀取進(jìn)程輸出值
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"));//獲取計(jì)算機(jī)名
System.out.println(map.get("USERDOMAIN"));//獲取計(jì)算機(jī)域名
}

//得到計(jì)算機(jī)的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();
}
}

//得到計(jì)算機(jī)的ip,名稱,操作系統(tǒng)名稱,操作系統(tǒng)版本

publicstaticvoidConfig(){
try{
InetAddress?addr?=?InetAddress.getLocalHost();
String?ip=addr.getHostAddress().toString();//獲取本機(jī)ip
String?hostName=addr.getHostName().toString();//獲取本機(jī)計(jì)算機(jī)名稱
System.out.println("本機(jī)IP:"+ip+"\n本機(jī)名稱:"+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的運(yùn)行環(huán)境版本:"+props.getProperty("java.version"));
System.out.println("Java的運(yùn)行環(huán)境供應(yīng)商:"+props.getProperty("java.vendor"));
System.out.println("Java供應(yīng)商的URL:"+props.getProperty("java.vendor.url"));
System.out.println("Java的安裝路徑:"+props.getProperty("java.home"));
System.out.println("Java的虛擬機(jī)規(guī)范版本:"+props.getProperty("java.vm.specification.version"));
System.out.println("Java的虛擬機(jī)規(guī)范供應(yīng)商:"+props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虛擬機(jī)規(guī)范名稱:"+props.getProperty("java.vm.specification.name"));
System.out.println("Java的虛擬機(jī)實(shí)現(xiàn)版本:"+props.getProperty("java.vm.version"));
System.out.println("Java的虛擬機(jī)實(shí)現(xiàn)供應(yīng)商:"+props.getProperty("java.vm.vendor"));
System.out.println("Java的虛擬機(jī)實(shí)現(xiàn)名稱:"+props.getProperty("java.vm.name"));
System.out.println("Java運(yùn)行時(shí)環(huán)境規(guī)范版本:"+props.getProperty("java.specification.version"));
System.out.println("Java運(yùn)行時(shí)環(huán)境規(guī)范供應(yīng)商:"+props.getProperty("java.specification.vender"));
System.out.println("Java運(yùn)行時(shí)環(huán)境規(guī)范名稱:"+props.getProperty("java.specification.name"));
System.out.println("Java的類格式版本號(hào):"+props.getProperty("java.class.version"));
System.out.println("Java的類路徑:"+props.getProperty("java.class.path"));
System.out.println("加載庫時(shí)搜索的路徑列表:"+props.getProperty("java.library.path"));
System.out.println("默認(rèn)的臨時(shí)文件路徑:"+props.getProperty("java.io.tmpdir"));=
System.out.println("一個(gè)或多個(gè)擴(kuò)展目錄的路徑:"+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("用戶的當(dāng)前工作目錄:"+props.getProperty("user.dir"));
}

publicstaticvoidmain(String[]?args)?{
Config();
//????????all();

}
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,766評(píng)論 18 399
  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光劍書架上的書閱讀 3,937評(píng)論 2 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,948評(píng)論 18 139
  • 二十多歲時(shí),活的特別懵懂,找了一份穩(wěn)定的工作,工作上還比較認(rèn)真,但是沒有什么職業(yè)規(guī)劃,人生規(guī)劃的概念。所...
    菲姨所思閱讀 383評(píng)論 0 0
  • 我把我們的相識(shí)忘記了,但我卻但我卻清晰地記得你離開的樣子。或許是你的離開對(duì)我來說依舊是觸目驚心的傷害吧,或許是對(duì)...
    樊婳婳閱讀 177評(píng)論 0 2