获取Linux下的IP地址 java代码

 1 /**
 2  * 获取Linux下的IP地址
 3  *
 4  * @return IP地址
 5  * @throws SocketException
 6  */
 7 public static String getLinuxLocalIp() throws SocketException {
 8   String ip = "";
 9   try {
10     for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
11         en.hasMoreElements();) {
12       NetworkInterface intf = en.nextElement();
13       String name = intf.getName();
14       if (!name.contains("docker") && !name.contains("lo")) {
15         for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
16             enumIpAddr.hasMoreElements();) {
17           InetAddress inetAddress = enumIpAddr.nextElement();
18           if (!inetAddress.isLoopbackAddress()) {
19             String ipaddress = inetAddress.getHostAddress().toString();
20             if (!ipaddress.contains("::") && !ipaddress.contains("0:0:")
21                 && !ipaddress.contains("fe80")) {
22               ip = ipaddress;
23             }
24           }
25         }
26       }
27     }
28   } catch (SocketException ex) {
29     System.out.println("获取ip地址异常");
30     ex.printStackTrace();
31   }
32   System.out.println("IP:" + ip);
33   return ip;
34 }

 

posted @ 2018-12-07 15:46  伊人如梦月犹残  阅读(1498)  评论(0)    收藏  举报