Java如何获得本机MAC地址

2025-12-12 00:33:31

1、首先,创建工程,包,和一个类。

在此不加详述,我们直接看代码。

这里,我把这个类命名为GetMacAddr

Java如何获得本机MAC地址

2、这里,最最关键的就是这里这个方法。

我们通过NetworkInterface这个类来操作。

也就是通过getLocalHost()方法先得到本机IP,

然后调用getHardwareAddress()方法得到一个byte数组的地址。

我们把六位地址传到一个byte数组里面,然后输出来就是。

不多废话,看代码:

private void getMACAddr()

    throws SocketException, UnknownHostException {

  // 获得IP

  NetworkInterface netInterface =

    NetworkInterface.getByInetAddress(InetAddress.getLocalHost());

  // 获得Mac地址的byte数组

  byte[] macAddr = netInterface.getHardwareAddress();

  System.out.print("MAC Addr:\t");

  // 循环输出

  for (byte b : macAddr) {

    // 这里的toHexString()是自己写的格式化输出的方法,见下步。

    System.out.print(toHexString(b) + " ");

  }

}

Java如何获得本机MAC地址

3、上一步骤中,为什么会出现一个toHexString()方法呢?

  因为可能10进制转16进制时候可能会出现单字符,

所以,如果有出现单字符的情况,我们在其前面添加一个“0”做占位符。

这也是为了视觉的直观,也夹带着个人的习惯。

private static String toHexString(int integer) {

  // 将得来的int类型数字转化为十六进制数

  String str = Integer.toHexString((int) (integer & 0xff));

  // 如果遇到单字符,前置0占位补满两格

  if (str.length() == 1) {

    str = "0" + str;

  }

  return str;

}

Java如何获得本机MAC地址

4、然后,我们写一个简单的main方法测试一下。

public static void main(String[] args) 

       throws SocketException, UnknownHostException {

  new GetMacAddr().getMACAddr();

}

Java如何获得本机MAC地址

5、结果无误,我们得到了本地的MAC地址。

大家一起来试一试吧!

Java如何获得本机MAC地址

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢