【发布时间】:2011-09-29 13:02:31
【问题描述】:
我正在尝试使用此代码获取 linux 系统的 MAC 地址:
try {
ip = InetAddress.getLocalHost();
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
// System.out.print("Current MAC address: ");
for (int i = 0; i < mac.length; i++) {
is = is + Integer.parseInt(
String.format("%02X%s", mac[i], (i < mac.length - 1) ? "" : ""),16);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e) {
e.printStackTrace();
}
但它只是崩溃了......有人知道为什么吗?
【问题讨论】:
-
当它崩溃时你会得到什么错误信息?
-
pastebin.com/891wKcXz 是的,我已经检查过它是这部分。如果我只是把 is = is + Integer.parseInt([mac address here],16);代码工作正常
-
byte[] mac = network.getHardwareAddress();
-
“系统”没有 MAC 地址。网络接口可以。您可以在一个系统中拥有多个 NIC,因此也可以拥有多个 MAC 地址。
标签: java macos crash mac-address