java怎么获取MAC地址
时间: 2024-09-14 20:17:13 浏览: 34
在Java中,获取本地计算机的MAC地址通常需要使用`java.net.NetworkInterface`和`InetAddress`类配合操作。以下是获取本地机MAC地址的一个简单示例:
```java
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Main {
public static void main(String[] args) throws Exception {
// 获取网络接口列表
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface ni = networkInterfaces.nextElement();
// 只处理非虚拟机接口
if (!ni.isVirtual() && ni.isUp()) {
byte[] macAddress = ni.getHardwareAddress();
// 将字节数组转换为字符串形式展示
String formattedMac = toHexString(macAddress);
System.out.println("物理接口名称:" + ni.getName());
System.out.println("MAC地址:" + formattedMac);
}
}
}
private static String toHexString(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("%02x", b));
}
return result.toString();
}
}
```
这段代码会遍历所有可用的网络接口,找到真实的非虚拟机接口,并从中提取其MAC地址。注意,这可能会返回多个地址,因为一些设备可能有多个网络接口。
阅读全文