Java如何获得本机MAC地址
Java获得本地MAC地址的方式有很多很多。
这里只需要配置好Java环境就好。
也就是说,不需要第三方插件,不需要CMD操作。
下面跟我来,我演示给大家看~
Java获取本地Mac地址
- 01
首先,创建工程,包,和一个类。 在此不加详述,我们直接看代码。 这里,我把这个类命名为GetMacAddr
- 02
这里,最最关键的就是这里这个方法。 我们通过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) + " "); } }
- 03
上一步骤中,为什么会出现一个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; }
- 04
然后,我们写一个简单的main方法测试一下。 public static void main(String[] args) throws SocketException, UnknownHostException { new GetMacAddr().getMACAddr(); }
- 05
结果无误,我们得到了本地的MAC地址。 大家一起来试一试吧!