功能代码片段:JAVA获取本机IP地址

JAVA获取本机IP地址

以下代码通过枚举本机网卡上的数据来获取本机IP地址,另外一种方法是使用InetAddress.getLocalHost()方法,但此方法依赖于Host文件的正确性。

private static List getLocalIpAddresses() {
        List ipAddresses = new ArrayList(); 
        Enumeration netInterfaces = null;  
        try {  
            netInterfaces = NetworkInterface.getNetworkInterfaces();  
            while (netInterfaces.hasMoreElements()) {  
                NetworkInterface ni = netInterfaces.nextElement();  
                Enumeration addresses = ni.getInetAddresses();  
                while (addresses.hasMoreElements()) {
                    InetAddress inetAddr = addresses.nextElement();
                    String ip = inetAddr.getHostAddress();
                    if (!ip.contains(":")) {
                        ipAddresses.add(ip);
                    }
                }  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }

        return ipAddresses;
    }

你可能感兴趣的:(代码片段)