Jslfl【软件开发技术笔记】

java获取网卡MAC地址

摘自网络

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Enumeration<NetworkInterface> ni = NetworkInterface.getNetworkInterfaces();
while(ni.hasMoreElements()){
    NetworkInterface netI = ni.nextElement();
    byte[] mac = netI.getHardwareAddress();
    if(netI.isUp() && netI != null && mac != null && mac.length == 6){
        StringBuffer sb = new StringBuffer();
        for(byte b : mac){
            //与11110000作按位与运算以便读取当前字节高4位
            sb.append(Integer.toHexString((b & 240) >> 4));
            //与00001111作按位与运算以便读取当前字节低4位
            sb.append(Integer.toHexString(b & 15));
            sb.append("-");
        }
        sb.deleteCharAt(sb.length()-1);
        return sb.toString().toUpperCase();
    }
}

Comments are currently closed.