综合了网上找的代码,整理的,Windows和Linux都可以用。
-
private static String getHostIp(){
-
try{
-
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
-
while (allNetInterfaces.hasMoreElements()){
-
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
-
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
-
while (addresses.hasMoreElements()){
-
InetAddress ip = (InetAddress) addresses.nextElement();
-
if (ip !=
null
-
&& ip
instanceof Inet4Address
-
&& !ip.isLoopbackAddress()
//loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255
-
&& ip.getHostAddress().indexOf(
":")==-
1){
-
System.out.println(
"本机的IP = " + ip.getHostAddress());
-
return ip.getHostAddress();
-
}
-
}
-
}
-
}
catch(Exception e){
-
e.printStackTrace();
-
}
-
return
null;
-
}