jva 獲取本機正在使用的網絡卡Mac地址
阿新 • • 發佈:2019-01-02
以上程式碼可在有網路的環境下正常使用,如果無網路,請參考另一篇package com.common; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import org.apache.log4j.Logger; public class getMacAddress { private Logger logger=Logger.getLogger(this.getClass()); public String getMacStr() throws Exception{ InetAddress ia = InetAddress.getLocalHost(); return getLocalMac(ia); } private static String getLocalMac(InetAddress ia) throws SocketException { // TODO Auto-generated method stub //獲取網絡卡,獲取地址 System.out.println(ia); byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress(); System.out.println(mac); StringBuffer sb = new StringBuffer(""); for(int i=0; i<mac.length; i++) { if(i!=0) { sb.append("-"); } //位元組轉換為整數 int temp = mac[i]&0xff; String str = Integer.toHexString(temp); if(str.length()==1) { sb.append("0"+str); }else { sb.append(str); } } return sb.toString().toUpperCase(); } }