java 获取本机的IP地址

时间:2024-04-30 08:50:53

方法一:这种方式有一定的局限性,在Linux下的执行结果是:本机的IP = xxx/127.0.1.1 (其中xxx是你的计算机名)

public void getLocalIPAddress() {
try {
InetAddress inetAddress = InetAddress.getLocalHost();
String localIP = inetAddress.getHostAddress().trim();
System.out.println(localIP);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}

方法二:

private InetAddress getLocalIPAddress() {
InetAddress ip = null;
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = allNetInterfaces.nextElement();
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
return ip.getLocalHost();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return ip;
}