拧巴人 发表于 2015-3-20 17:45

Java如何获取本机MAC地址

import java.net.InetAddress;

import java.net.NetworkInterface;

import java.net.SocketException;

import java.net.UnknownHostException;


/*

* 物理地址是48位,别和ipv6搞错了

*/

public class LOCALMAC {


        /**

       * @param args

       * @throws UnknownHostException

       * @throws SocketException

       */

        public static void main(String[] args) throws UnknownHostException, SocketException {

                // TODO Auto-generated method stub

               

                //得到IP,输出PC-201309011313/122.206.73.83

                InetAddress ia = InetAddress.getLocalHost();

                System.out.println(ia);

                getLocalMac(ia);

        }


        private static void getLocalMac(InetAddress ia) throws SocketException {

                // TODO Auto-generated method stub

                //获取网卡,获取地址

                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&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());

        }

}


      运行结果如下:
PC-201309011313/122.206.73.83

mac数组长度:6

每8位:d0

每8位:27

每8位:88

每8位:1f

每8位:89

每8位:51

本机MAC地址:D0-27-88-1F-89-51


小吊程序猿 发表于 2015-3-24 05:43


参与/回复主题 关闭



      
RE: Java如何获取本机MAC地址 [修改]
页: [1]
查看完整版本: Java如何获取本机MAC地址