Busqué una forma de obtener la dirección MAC en línea y encontré dos métodos diferentes.
El primer tipo
public static void main (string [] args) lanza la excepción {inetaddress ia = inetaddress.getLocalHost (); system.out.println (getMacaddress (ia));} La cadena estática privada getMacaddress (inetaddress ia) lanza una excepción {// Obtener el objeto de interfaz de red (es decir, tarjeta de red) y obtener la dirección MAC, que existe en una matriz de bytes. byte [] mac = networkInterface.getByInetAddress (ia) .GethardWAareadDress (); // El siguiente código es ensamblar la dirección MAC en StringStringBuffer sb = new StringBuffer (); for (int i = 0; i <mac.length; i ++) {i! = 0) {sb.append ("-");} /////] y 0xft es Convertir el byte en una cadena entera positiva S = Integer.ToHexString (Mac [i] & 0xff); sb.append (s.length () == 1? 0 + s: s);} // Cambiar todas las letras minúsculas de la cadena a mayúsculas y convertirse en una dirección MAC y retorno regular sb.ToString ().Este método parece ser capaz de obtener solo la dirección MAC de la máquina.
El segundo tipo
public static void main (String [] args) lanza la excepción {getMac ("192.168.1.186");} public static string getMac (String ip) {String str = null; string mac = null; try {Process p = runtime.getRuntime (). Exec ("nbtStat -a" + ip); InputStreamReader ir = new InputStreamReader (p.getInputStream (), "GBK"); Entrada de LinEnnumberReader = new LinEnnumberReader (ir); for (; true;) {str = input.readline (); if (str! = null) {if (str.indexof ("dirección mac")> 1) {mac = str.substring (str.indexof ("dirección MAC") + 9); break; }}} System.out.println (Mac);} Catch (IOException e) {E.PrintStackTracePrefiero este método, pero este método puede ser un poco menos eficiente en el tiempo. Hay un punto al que debe prestarse atención en esto. Recuerde cambiar el flujo de datos a formato GBK, de lo contrario, los datos de lectura estarán confusos y no podrán continuar más tarde. Luego identifique los campos. Algunos pueden ser "dirección MAC", por lo que es posible que deba hacer algunos ajustes usted mismo.
Los anteriores son todos los dos métodos (recomendados) para obtener direcciones MAC en Java que el editor le trae. Espero que todos puedan apoyar a Wulin.com más ~