JAVA 获取mac地址
importjava.net.InetAddress;importjava.net.InterfaceAddress;importjava.net.NetworkInterface;importjava.util.ArrayList;importjava.util.List;importjava.util.stream.Collectors;publicclassGetMacTest{publicstaticList<String>getMacList()throwsException{java.util.Enumeration<NetworkInterface> en=NetworkInterface.getNetworkInterfaces();StringBuilder sb=newStringBuilder();ArrayList<String> tmpMacList=newArrayList<>();while(en.hasMoreElements()){NetworkInterface iface= en.nextElement();List<InterfaceAddress> addrs= iface.getInterfaceAddresses();for(InterfaceAddress addr: addrs){InetAddress ip= addr.getAddress();NetworkInterface network=NetworkInterface.getByInetAddress(ip);if(network==null){continue;}byte[] mac= network.getHardwareAddress();if(mac==null){continue;}
sb.delete(0, sb.length());for(int i=0; i< mac.length; i++){sb.append(String.format("%02X%s", mac[i],(i< mac.length-1)?"-":""));}
tmpMacList.add(sb.toString());}}if(tmpMacList.size()<=0){return tmpMacList;}List<String> unique= tmpMacList.stream().distinct().collect(Collectors.toList());return unique;}publicstaticvoidmain(String[] args)throwsException{List<String> macs=getMacList();System.out.println("本机的mac网卡的地址列表"+macs);}}