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