分享代码片段:java中准确地获取本机ip地址(列表)的方法

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了分享代码片段:java中准确地获取本机ip地址(列表)的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

原文链接:https://gist.github.com/pfmiles/9f7273b12b4b486e2e9c

package test;  import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; import java.util.Set;  /**  * 获取本地ip的工具  *   * @author pf-miles  * @since 2014-11-25  */ public class LocalIpAddressUtil {      /**      * 获取本地ip地址,有可能会有多个地址, 若有多个网卡则会搜集多个网卡的ip地址      */     public static Set<InetAddress> resolveLocalAddresses() {         Set<InetAddress> addrs = new HashSet<InetAddress>();         Enumeration<NetworkInterface> ns = null;         try {             ns = NetworkInterface.getNetworkInterfaces();         } catch (SocketException e) {             // ignored...         }         while (ns != null && ns.hasMoreElements()) {             NetworkInterface n = ns.nextElement();             Enumeration<InetAddress> is = n.getInetAddresses();             while (is.hasMoreElements()) {                 InetAddress i = is.nextElement();                 if (!i.isLoopbackAddress() && !i.isLinkLocalAddress() && !i.isMulticastAddress()                     && !isSpecialIp(i.getHostAddress())) addrs.add(i);             }         }         return addrs;     }      public static Set<String> resolveLocalIps() {         Set<InetAddress> addrs = resolveLocalAddresses();         Set<String> ret = new HashSet<String>();         for (InetAddress addr : addrs)             ret.add(addr.getHostAddress());         return ret;     }      private static boolean isSpecialIp(String ip) {         if (ip.contains(":")) return true;         if (ip.startsWith("127.")) return true;         if (ip.startsWith("169.254.")) return true;         if (ip.equals("255.255.255.255")) return true;         return false;     } } 

脚本宝典总结

以上是脚本宝典为你收集整理的分享代码片段:java中准确地获取本机ip地址(列表)的方法全部内容,希望文章能够帮你解决分享代码片段:java中准确地获取本机ip地址(列表)的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。