获取IP工具类IPGetUtil

来源:互联网 发布:大数据会计信息化 编辑:程序博客网 时间:2024/06/01 07:47
import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.util.Enumeration;import org.apache.log4j.Logger;public class IPGetUtil {    private static Logger log = Logger.getLogger("IPGetUtil");    /**     *      * getLocalIpAddress(获取ip)     *      * @Title: getLocalIpAddress     * @param @return     * @return String     * @throws     */    public static String getLocalIpAddress() {        StringBuffer ips = new StringBuffer();        Enumeration<NetworkInterface> allNetInterfaces; // 定义网络接口枚举类        try {            allNetInterfaces = NetworkInterface.getNetworkInterfaces(); // 获得网络接口            InetAddress ip = null; // 声明一个InetAddress类型ip地址            while (allNetInterfaces.hasMoreElements()) // 遍历所有的网络接口            {                NetworkInterface netInterface = allNetInterfaces.nextElement();                Enumeration<InetAddress> addresses = netInterface                        .getInetAddresses(); // 同样再定义网络地址枚举类                while (addresses.hasMoreElements()) {                    ip = addresses.nextElement();                    if (ip != null                            && (ip instanceof Inet4Address)                            && !"127.0.0.1".equals(ip.getHostAddress()                                    .toString())) // InetAddress类包括Inet4Address和Inet6Address                    {                        ips.append(ip.getHostAddress()).append("|");                    }                }            }        } catch (Exception e) {            log.error("获取本地ip异常:" + e);        }        return ips.toString().substring(0, ips.toString().length() - 1);    }}
0 0