/**
* 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 ...