JAVA代码获取MAC地址

来源:互联网 发布:阿里云余额如何提现 编辑:程序博客网 时间:2024/06/06 08:50

今天项目中遇到获取mac地址的需求,查找了api之后总结下,贴出来大家拿去使用吧!

package com.zxw.mac; import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;/**  *   <B>说       明</B>:获取MAC * * @author  作  者  名:郑雄伟<br/> *    E-mail :zhengxiongwei89@163.com  * @version 版   本  号:V1.0.<br/> *          创建时间:2017年7月13日 下午3:59:48  */public class NetMacUtil {public static InetAddress getInetAddress() throws UnknownHostException{//获取指定IP的InetAddress//String ip ="127.0.0.1";//InetAddress addr = InetAddress.getByName(ip);//获取本地InetAddressInetAddress addr = InetAddress.getLocalHost();return addr;}public static void getLocalMac(InetAddress ia) throws SocketException {//获取网卡,获取地址byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();System.out.println("mac数组长度:"+mac.length);StringBuffer sb = new StringBuffer("");for(int i=0; i<mac.length; i++) {if(i!=0) {sb.append("-");}//字节转换为整数int temp = mac[i]&0xff;String str = Integer.toHexString(temp);System.out.println("每8位:"+str);if(str.length()==1) {sb.append("0"+str);}else {sb.append(str);}}System.out.println("本机MAC地址:"+sb.toString().toUpperCase());}public static void main(String[] args) {try {InetAddress inetAddress = getInetAddress();getLocalMac(inetAddress);} catch (Exception e) {e.printStackTrace();}}}