/**
* Get the local IP address.
* 获取本地IP地址
* @author: Lu Yang
* @date: 2019-07-17 17:17:31
* @version: v_1.0.0
* @return
*/
public static String getLocalIPAddress () {
// 网络接口(网卡、wifi)列表集合
Enumeration<NetworkInterface> networkInterfaceList = null;
try {
// 获取当前机器所有网络接口列表
networkInterfaceList = NetworkInterface.getNetworkInterfaces();
// 没有网络接口
if (null == networkInterfaceList) {
return null;
}
} catch (SocketException e) {
e.printStackTrace();
}
// 本地IP
String LocaIp = null;
// 网络接口对象
NetworkInterface networkInterface;
// 遍历网络接口列表
while (networkInterfaceList.hasMoreElements()) {
// 获取下一个网络接口
networkInterface = networkInterfaceList.nextElement();
try {
// 判断网络接口是否启动并运行
if (!networkInterface.isUp())
// 如果没有遍历下一个
continue;
// 判断网络接口是否为环回接口
if (networkInterface.isLoopback())
continue;
// 判断是否为虚拟网络接口(网卡)
if (networkInterface.isVirtual())
continue;
} catch (SocketException e) {
e.printStackTrace();
}
// 网络接口地址集合
Enumeration<InetAddress> inetAddressList = networkInterface.getInetAddresses();
if (null == inetAddressList) {
continue;
}
// 网络接口地址对象
InetAddress inetAddress;
// 遍历网络接口地址集合
while (inetAddressList.hasMoreElements()) {
// 获取下一个网络接口地址
inetAddress = inetAddressList.nextElement();
if (
// 判断IP是否为本机地址
!inetAddress.isLoopbackAddress() &&
// 是否为地区地址
inetAddress.isSiteLocalAddress() &&
// 返回四段式IP字符串是否包含:符号
inetAddress.getHostAddress().indexOf(":") == -1
) {
try {
LocaIp = inetAddress.toString().split("/")[1];
} catch (ArrayIndexOutOfBoundsException e) {
LocaIp = null;
e.printStackTrace();
}
}
}
}
return LocaIp;
}
获取本机IP地址
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- import java.net.InetAddress; public class Main { public ...