当前位置: 代码迷 >> 综合 >> 纯Java获得本地MAC地址
  详细解决方案

纯Java获得本地MAC地址

热度:51   发布时间:2023-10-15 08:05:54.0
package test;


import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;


/**
 * 获取本机的MAC地址、主机名、IP
 * @author Administrator
 *
 */
public class GetMacAddress {
/**
* @param args
* @throws UnknownHostException 
* @throws SocketException 
*/
public static void main(String[] args) throws UnknownHostException, SocketException {

InetAddress ia = InetAddress.getLocalHost();
//输出计算机名和IP
System.out.println(ia);
getLocalMac(ia);
}
private 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());
}
}