Formatierung MAC-Adresse byte-array zu String
Ich bin mit diesem code zu finden, der die MAC-Adresse einer Maschine. Dieser code druckt direkt die MAC-Adresse, aber ich möchte als string zurückgeben. Ich bin völlig verwirrt.
bitte helfen.
try {
InetAddress add = InetAddress.getByName("10.123.96.102");
NetworkInterface ni1 = NetworkInterface.getByInetAddress(add);
if (ni1 != null) {
byte[] mac1 = ni1.getHardwareAddress();
if (mac1 != null) {
for (int k = 0; k < mac1.length; k++) {
System.out.format("%02X%s", mac1[k], (k < mac1.length - 1) ? "-" : "");
}
} else {
System.out.println("Address doesn't exist ");
}
System.out.println();
} else {
System.out.println("address is not found.");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
}
- Wenn Sie brauchen, um einen string zurückzugeben, der formatiert die gleiche Weise, verwenden Sie ein StringBuilder-Objekt und append um es in einer Schleife die Teile formatiert mit String.format(..).
- Siehe stackoverflow.com/questions/311165/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es kein standard-text-Darstellung von Mac-Adressen. Sie müssen nur für die Konvertierung in hex und trennen Sie die bytes für die Lesbarkeit. Hier ist die Funktion, die ich im format von ifconfig unter Unix,
Müssen Sie nur ändern Sie die ':' auf '-'.
NetworkInterface ni = NetworkInterface.getByInetAddress(addr);
aber meine InetAddress-Objekt enthält eine gültige IP-Adresse,...jede Hilfe ist willkommen....Durch diese können Sie ganz einfach Formiat-Mac-Adresse String.
Kopie von hier : http://www.mkyong.com/java/how-to-get-mac-address-in-java/comment-page-1/#comment-139182
Vielleicht könnten Sie
Hex.encodeHex(bytes)
aus commons-codec.Hier sind andere Möglichkeiten, dies zu tun, ohne 3rd-party-Bibliotheken.
Es sollte so etwas wie
Ich weiß, dies ist eine Java-Frage, aber für Scala-Benutzer, die hier gelandet, wie ich es Tat, dies ist ein Weg, es zu tun in Scala:
Etwas leicht und schnell, versuchen Sie die folgenden. 3rd-party-externe Abhängigkeiten sind minimal, und benutzt nur einige "old school" bit-math.