• Java获取本机MAC地址


             为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法。

             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[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());
    
    	}
    
    }
    

            运行结果如下:

    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
  • 相关阅读:
    一、异常
    自控力_第三章
    Vocabulary Recitation 2020/05/05
    Vocabulary Recitation 2020/05/04
    Vocabulary Recitaion 2020/05/03
    Vocabulary Recitation 2020/05/01
    最大子序列和
    Vocabulary Recitation 2020/04/29
    自控力_第二章
    Vocabulary Recitation 2020/04/27
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3422191.html
Copyright © 2020-2023  润新知