天天看点

纯Java获得本地MAC地址

import java.net.*;

public class Ipconfig{

     public static void main(String[] arguments) throws Exception{

         InetAddress ia = InetAddress.getLocalHost();//获取本地IP对象

         System.out.println("MAC ......... "+getMACAddress(ia));

     }

     //获取MAC地址的方法

     private static String getMACAddress(InetAddress ia)throws Exception{

         //获得网络接口对象(即网卡),并得到mac地址,mac地址存在于一个byte数组中。

         byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();

         //下面代码是把mac地址拼装成String

         StringBuffer sb = new StringBuffer();

         for(int i=0;i<mac.length;i++){

             if(i!=0){

                 sb.append("-");

             }

             //mac[i] & 0xFF 是为了把byte转化为正整数

             String s = Integer.toHexString(mac[i] & 0xFF);

             sb.append(s.length()==1?0+s:s);

         }

         //把字符串所有小写字母改为大写成为正规的mac地址并返回

         return sb.toString().toUpperCase();

 }若转载请注明出处!若有疑问,请回复交流!