zoukankan      html  css  js  c++  java
  • java中获取本机IP

    1.背景

    2.代码

    package com.XXX.common.util;
    
    import cn.hutool.core.util.StrUtil;
    import lombok.extern.slf4j.Slf4j;
    
    import java.net.Inet4Address;
    import java.net.InetAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.List;
    
    @Slf4j
    public class HostUtil {
    
        private static String ipAddress = null;
    
        public static String getLocalIp() {
            if (!StrUtil.isEmpty(ipAddress)) {
                return ipAddress;
            }
            try {
                ipAddress = getLocalIpAddress();
            } catch (Exception e) {
                log.error("获取IP异常: ", e);
            }
            return ipAddress;
        }
    
        private static String getLocalIpAddress() throws SocketException {
            List<String> list = new ArrayList<>();
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaces.hasMoreElements()) {
                NetworkInterface networkInterface = networkInterfaces.nextElement();
                Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
                while (addresses.hasMoreElements()) {
                    InetAddress address = addresses.nextElement();
                    if (!address.isLinkLocalAddress() && !address.isLoopbackAddress() && address instanceof Inet4Address) {
                        list.add(address.getHostAddress());
                    }
                }
            }
            return String.join(";", list);
        }
    }

    完美!

  • 相关阅读:
    深入了解Java ClassLoader、Bytecode 、ASM、cglib (I)
    如何在ant里import
    敏捷练习(1)评估我的生活方向盘
    你是一个合格的孩子吗?
    [转] C# 路径(目录)
    XML学习记录
    js学习总结不断更新(1)
    LINQ TO XML练习
    做技术,切不可沉湎于技术
    js学习总结持续更新(2)
  • 原文地址:https://www.cnblogs.com/newAndHui/p/14607067.html
Copyright © 2011-2022 走看看