功能代碼片段:JAVA獲取本機IP地址

JAVA獲取本機IP地址

以下代碼通過枚舉本機網卡上的數據來獲取本機IP地址,另外一種方法是使用InetAddress.getLocalHost()方法,但此方法依賴於Host文件的正確性。

private static List<String> getLocalIpAddresses() {
        List<String> ipAddresses = new ArrayList<String>(); 
        Enumeration<NetworkInterface> netInterfaces = null;  
        try {  
            netInterfaces = NetworkInterface.getNetworkInterfaces();  
            while (netInterfaces.hasMoreElements()) {  
                NetworkInterface ni = netInterfaces.nextElement();  
                Enumeration<InetAddress> 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;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章