java如何获取网卡地址(硬件地址)

     今天,由于项目的需要,需要获取网卡的地址,类似于把我们公司发布的系统与当前电脑绑定,那么怎样唯一标识一台电脑,那就是网卡地址。在网上搜了一下,方法很多,后面经过整理找到了一个比较简单的方法,顺便搬运过来,下面贴上代码,拿过去直接能用。
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();
		 }
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值