尝试使用getHardwareAddress()方法获取我的网卡的mac地址,但是根据NetworkInterface.getNetworkInterfaces()我有20多个网络接口。通过检查其他属性,我将其缩小到一个,但这是否适用于所有(或至少大多数情况)和操作系统,只在WIndows 7 PC上试用过。
如果一台计算机有两块网卡,我可以找出实际用于当前互联网连接的网卡吗?
Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements())
{
NetworkInterface ni = e.nextElement();
if(ni!=null && ni.getHardwareAddress()!=null &&ni.getInetAddresses().hasMoreElements() && ni.supportsMulticast())
{
String macAddress = Hex.encodeHexString(ni.getHardwareAddress());
System.out.println("MACADDRESSIS"+macAddress);
}
}