package cn.aresoft.webapi.jiyu.utils;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
public class OSUtil {
//通過截取cmd流方式得到計算機的配置信息(不好)
public static List<String> getIpAddress(){
Process p = null;
List<String> address = new ArrayList<String>();
try{
p = new ProcessBuilder("ipconfig","/all").start();
}catch(Exception e){
return address;
}
StringBuffer sb = new StringBuffer();
//讀取進程輸出值
InputStream inputStream = p.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(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);
return address;
}
public static void getIpconfig(){
Map<String,String> map = System.getenv();
System.out.println(map.get("USERNAME"));//獲取用戶名
System.out.println(map.get("COMPUTERNAME"));//獲取計算機名
System.out.println(map.get("USERDOMAIN"));//獲取計算機域名
}
//得到計算機的ip地址和mac地址
public static Map<String,String> getConfig(){
Map<String,String> map=new HashMap<String,String>();
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 = new Formatter();
for (int i = 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);
map.put("IP", sIP);
map.put("MAC", sMAC);
}catch(Exception e){
e.printStackTrace();
}
return map;
}
//得到計算機的ip,名稱,操作系統名稱,操作系統版本
public static void Config(){
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("操作系統的名稱:"+props.getProperty("os.name"));
System.out.println("操作系統的版本:"+props.getProperty("os.version"));
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) {
getConfig();
}
}
java獲取 ip mac 地址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.