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;
}