获取本地ip地址适用于windows和Linux环境
生活随笔
收集整理的這篇文章主要介紹了
获取本地ip地址适用于windows和Linux环境
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)寫版本
package com.gblfy.util;import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration;/*** 獲取本地ip地址 適用于Windowds和Linux*/ public class WebToolUtils {/*** 獲取本地ip地址*** @return*/public static String getInet4Address() {Enumeration<NetworkInterface> nis;String ip = null;try {nis = NetworkInterface.getNetworkInterfaces();for (; nis.hasMoreElements();) {NetworkInterface ni = nis.nextElement();Enumeration<InetAddress> ias = ni.getInetAddresses();for (; ias.hasMoreElements();) {InetAddress ia = ias.nextElement();if (ia instanceof Inet4Address && !ia.getHostAddress().equals("127.0.0.1")) {ip = ia.getHostAddress();}}}} catch (SocketException e) {e.printStackTrace();}return ip;}public static void main(String[] args)throws Exception {String localIP = getInet4Address();System.out.println("獲取本地ip地址:---------------------"+localIP);} }未優(yōu)化版本
package com.gblfy.config;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody;import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration;@Controller public class AbController {@ResponseBody@RequestMapping(value = "/Testone", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")public static String Testone() throws Exception {String ip = "";try {for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {NetworkInterface intf = en.nextElement();String name = intf.getName();if (!name.contains("docker") && !name.contains("lo")) {for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {InetAddress inetAddress = enumIpAddr.nextElement();if (!inetAddress.isLoopbackAddress()) {String ipaddress = inetAddress.getHostAddress().toString();if (!ipaddress.contains("::") && !ipaddress.contains("0:0:") && !ipaddress.contains("fe80")) {ip = ipaddress;System.out.println(ipaddress);}}}}}} catch (SocketException ex) {System.out.println("獲取ip地址異常");ip = "127.0.0.1";ex.printStackTrace();}System.out.println("IP:"+ip);return ip;}public static void main(String[] args) throws Exception {String testone = Testone();System.out.println("eilvlhwlhevihei"+testone);} }總結(jié)
以上是生活随笔為你收集整理的获取本地ip地址适用于windows和Linux环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux CPU、内存、I/O、磁盘等
- 下一篇: linux环境安装Kafka最新版本