Java编程来获取本机的MAC地址

这个应用比较简单,所以不需要废话,直接上代码,见下。

import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

public class GetMac {

    public static void main(final String[] args) throws SocketException {
        final Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            final NetworkInterface element = interfaces.nextElement();
            System.out.println(element.getDisplayName());
            final byte[] bytes = element.getHardwareAddress();
            if (bytes == null) {
                continue;
            }
            final String macAddress = String.format("%1$02x:%2$02x:%3$02x:%4$02x:%5$02x:%6$02x", bytes[0], bytes[1],
                            bytes[2], bytes[3], bytes[4], bytes[5]);
            System.out.println(macAddress);
        }
    }

}
不过在实地使用的过程中发现,假如本机的网卡没有绑定IP的话,通过上述方法可能是获取不到的,具体原因还没有时间来分析;另外从byte数组转换成字符串的过程不是特别优雅,但一下子又想不出什么好的方法,留待以后优化吧。

你可能感兴趣的:(Java编程来获取本机的MAC地址)