综合了网上找的代码,整理的,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;
-
}