获取本地MAC地址----java
给出了一个小工具,功能是专门获取本地mac地址。
package com.mec.util;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class GetLocalMacAddress {
private static byte[] macAddress;
static {
try {
macAddress = NetworkInterface
.getByInetAddress(InetAddress.getLocalHost()) // 得到byte[]类型的mac数组
.getHardwareAddress();
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
public static String getLocalMacAddress() {
StringBuffer sb = new StringBuffer();
for (byte part : macAddress) { //将byte[]类型的mac地址转化成字符串类型
sb.append('-')
.append("0123456789ABCDEF".charAt((part >> 4) & 0X0F)) //取出每个字节的前四位将其转化成十六进制整形数
.append("0123456789ABCDEF".charAt(part & 0X0F)); //取出每个字节的后四位将其转化成十六进制整形数
}
return sb.substring(1).toString();
}
}
通过 GetLocalMacAddress.getLocalMacAddress() 调用就好。
注意: mac地址只有在本地机连网的情况下,才可以通过java提供的类获得。