java获取本机IP地址和MAC地址的方法
Posted hy7873
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java获取本机IP地址和MAC地址的方法相关的知识,希望对你有一定的参考价值。
// 获取ip地址 public static String getIpAddress() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement(); if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) { continue; } else { Enumeration<InetAddress> addresses = netInterface.getInetAddresses(); while (addresses.hasMoreElements()) { ip = addresses.nextElement(); if (ip != null && ip instanceof Inet4Address) { return ip.getHostAddress(); } } } } } catch (Exception e) { // _logger.error("IP地址获取失败", e); e.printStackTrace(); } return ""; } // 获取mac地址 public static String getMacAddress() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces(); byte[] mac = null; while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement(); if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) { continue; } else { mac = netInterface.getHardwareAddress(); if (mac != null) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < mac.length; i++) { sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); } if (sb.length() > 0) { return sb.toString(); } } } } } catch (Exception e) { // _logger.error("MAC地址获取失败", e); e.printStackTrace(); } return ""; }
此方法过滤了虚拟网卡
以上是关于java获取本机IP地址和MAC地址的方法的主要内容,如果未能解决你的问题,请参考以下文章