2010-12-16 4 views
-4
NetworkInterface ni = NetworkInterface.getByInetAddress(address); 
     if (ni != null) { 
      byte[] mac = ni.getHardwareAddress(); 
      if (mac != null) { 
       /* 
       * Extract each array of mac address and convert it to hexa with the 
       * following format 08-00-27-DC-4A-9E. 
       */ 
       for (int i = 0; i < mac.length; i++) { 
        System.out.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""); 
       } 
      } 
     } 

wie Ausgänge dieser ähnlich speichern 08-00-27-DC-4A-9E auf eine Variable in JavaSpeichern der 08-00-27-DC-4A-9E an Variable in Java-Byte ist die

Antwort

4

Etwas wie:

StringBuilder b = new StringBuilder(); 
for (int i = 0; i < mac.length; i++) { 
    b.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""); 

String s = b.toString(); 
+0

08- 08-00- 08-00-27- 08-00-27-DC- 08-00-27-DC-4a- 08 -00-27-DC-4A-9E – sunny

+0

... ich bin in der Lage, es zu einem String zu holen, aber ich habe Ihnen den Ausgang oben gezeigt .... Ich brauche nur 08-00-27-DC-4A-9E in der String s ... – sunny

+0

Danke Gareth .... endlich funktioniert – sunny

3

zu speichern, diesen Wert zu eine Variable, anstatt sie zu drucken, können Sie nur eine Variable deklarieren und die letzte Zeile ändern: Derzeit

String s = ""; 
s += String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""); 

, bist du es in einen String Formatierung, aber das Drucken dann auf die Standardausgabe anstatt es zu speichern .

+0

paaren Ausgabe aus dem Code ist 08-00-27-DC-4A-9E ... ich brauche es auf eine Variable zu speichern ... sein von byte []. .. m fragen Sie, wie man es in Java speichern – sunny

+0

Kumpel - Sie haben es in einer Variablen des Typs byte [] es heißt "Mac", bitte erarbeiten Sie, was Sie eigentlich wollen –

+0

Yup Kumpel ... ich lernte wissen .. Aber wenn ich es mit System.out.format formatiere ... gibt es in diesem Format 08-00-27-DC-4A-9E .. Ich muss diese bestimmte Ausgabe speichern – sunny