J'ai cherché un moyen d'obtenir l'adresse MAC en ligne et j'ai trouvé deux méthodes différentes.
Le premier type
public static void main (String [] args) lève une exception {InetAddress ia = InetAddress.getLocalHost (); System.out.println (getMacAddress (ia));} La chaîne statique privée getMacAddress (InetAddress IA) lève une exception {// Obtenez l'objet d'interface réseau (c'est-à-dire la carte réseau) et obtenez l'adresse MAC, qui existe dans un tableau d'octets. BYTE [] mac = networkinterface.getByinetAddress (IA) .GethardWareaddress (); // Le code suivant doit assembler l'adresse MAC dans StringStringBuffer SB = new StringBuffer (); pour (int i = 0; i <mac.length; i ++) {if (i! = 0) {sb.APPEnd ("-");} convertir l'octet en une chaîne entier positive s = entier.tohexString (mac [i] & 0xff); sb.append (s.Lengthref () == 1? 0 + s: s);} // modifier toutes les lettres minuscules de la chaîne en maître de maîtrise et devenir une adresse MAC régulière et return sb.toString (). ToupperCase ();}Cette méthode semble être en mesure d'obtenir seulement l'adresse MAC de la machine.
Le deuxième type
public static void main (String [] args) lève une exception {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"); LineNumberReader INPUT = NOUVEAU LINENUMBERREDER (IR); for (; true;) {str = input.readline (); if (str! = null) {if (str.Indexof ("Address MAC")> 1) {mac = str.substring (str.Indexof ("Adresse MAC") + 9); Break; }}} System.out.println (mac);} catch (ioException e) {e.printStackTrace ();} return mac;}Je préfère cette méthode, mais cette méthode peut être légèrement moins économe en temps. Il y a un point à qui il faut prêter attention à cela. N'oubliez pas de modifier le flux de données au format GBK, sinon les données de lecture seront brouillées et ne pourront pas procéder plus tard. Identifiez ensuite les champs. Certains peuvent être "Adresse MAC", vous devrez donc peut-être faire quelques ajustements vous-même.
Ce qui précède sont toutes les deux méthodes (recommandées) pour obtenir des adresses MAC dans Java qui vous sont apportées par l'éditeur. J'espère que tout le monde pourra soutenir Wulin.com plus ~