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