以下程序旨在打印我節點的MAC地址。但它打印一個空白。我檢查它爲空,但它不是null。爲什麼我會得到一個空白的MAC地址?我犯了什麼錯誤?爲什麼我會得到一個空白的MAC地址?
import java.net.InetAddress;
import java.net.NetworkInterface;
class Tester {
public static void main(String args[]) {
try {
InetAddress address = InetAddress.getByName("localhost");
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
byte mac[] = ni.getHardwareAddress();
if(mac == null) {
System.out.println("Mac address is null");
} else {
System.out.println("Else block!");
String macAdd = new String(mac);
System.out.println(macAdd);
}
} catch(Exception exc) {
exc.printStackTrace();
}
}
}
注:mac == null
是假的。
如果我用我的網絡IP 192.168.43.187替換'localhost',我可以看到:'p±íí▀⌡'這是什麼? – saplingPro
它的你的mac地址變成了字符。如果您知道這些字符的ascii代碼,則可以計算出mac地址,或者如果您想查看數字,可以按照我的建議進行打印。 ;) –