Java获取电脑真实IP地址的示例代码
/**
*@authoryins
*@date2018年8月12日下午9:53:58
*/
importjava.net.Inet4Address;
importjava.net.InetAddress;
importjava.net.NetworkInterface;
importjava.net.SocketException;
importjava.util.Enumeration;
/**
*获取本地真正的IP地址,即获得有线或者无线WiFi地址。
*过滤虚拟机、蓝牙等地址
*@authoryins
*@date2018年8月12日下午9:53:58
*/
publicclassGetRealLocalIP{
/**
*获取本地真正的IP地址,即获得有线或者无线WiFi地址。
*过滤虚拟机、蓝牙等地址
*@authoryins
*@date2018年8月12日下午9:56:35
*@return
*/
publicstaticStringgetRealIP(){
try{
EnumerationallNetInterfaces=NetworkInterface
.getNetworkInterfaces();
while(allNetInterfaces.hasMoreElements()){
NetworkInterfacenetInterface=(NetworkInterface)allNetInterfaces
.nextElement();
//去除回环接口,子接口,未运行和接口
if(netInterface.isLoopback()||netInterface.isVirtual()
||!netInterface.isUp()){
continue;
}
if(!netInterface.getDisplayName().contains("Intel")
&&!netInterface.getDisplayName().contains("Realtek")){
continue;
}
Enumerationaddresses=netInterface
.getInetAddresses();
System.out.println(netInterface.getDisplayName());
while(addresses.hasMoreElements()){
InetAddressip=addresses.nextElement();
if(ip!=null){
//ipv4
if(ipinstanceofInet4Address){
System.out.println("ipv4="+ip.getHostAddress());
returnip.getHostAddress();
}
}
}
break;
}
}catch(SocketExceptione){
System.err.println("Errorwhengettinghostipaddress"
+e.getMessage());
}
returnnull;
}
}
此代码中只要读取到了WiFi或者有线地址其中之一立即return。
以上就是Java获取电脑真实IP地址的示例代码的详细内容,更多关于Java获取IP地址的资料请关注毛票票其它相关文章!