Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces(); while (nis.hasMoreElements()) { NetworkInterface ni = nis.nextElement(); byte[] bs = ni.getHardwareAddress(); if (ni != null && ni.isUp() && bs != null && bs.length == 6){ StringBuffer sb = new StringBuffer(); for (byte b : bs) { //与11110000作按位与运算以便读取当前字节高4位 sb.append(Integer.toHexString((b & 240) >> 4)); //与00001111作按位与运算以便读取当前字节低4位 sb.append(Integer.toHexString(b & 15)); sb.append("-"); } sb.deleteCharAt(sb.length() - 1); System.out.println(sb.toString().toUpperCase()); } }