今天,由于项目的需要,需要获取网卡的地址,类似于把我们公司发布的系统与当前电脑绑定,那么怎样唯一标识一台电脑,那就是网卡地址。在网上搜了一下,方法很多,后面经过整理找到了一个比较简单的方法,顺便搬运过来,下面贴上代码,拿过去直接能用。
import java.net.NetworkInterface;
import java.util.Enumeration;
public class Demo01 {
public static void main(String[] args) {
try {
Enumeration<NetworkInterface> el = NetworkInterface.getNetworkInterfaces();
StringBuilder builder = new StringBuilder();
while (el.hasMoreElements()) {
byte[] mac = el.nextElement().getHardwareAddress();
if (mac == null){
continue;
}
if(builder.length() > 0){
builder.append(",");
}
for (byte b : mac) {
//convert to hex string.
String hex = Integer.toHexString(0xff & b).toUpperCase();
if(hex.length() == 1){
hex = "0" + hex;
}
builder.append(hex);
builder.append("-");
}
builder.deleteCharAt(builder.length() - 1);
}
if(builder.length() == 0){
System.out.println("Sorry, can't find your MAC Address.");
}else{
System.out.println("Your MAC Address is " + builder.toString());
}
}catch (Exception exception) {
exception.printStackTrace();
}
}
}