import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
public class NetUtil {
public static String getHostname() {
try {
InetAddress inetAddress = InetAddress.getLocalHost();
return inetAddress.getHostName();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return "UNKNOWN-HOSTNAME";
}
private static List<String> localIpAddresses;
public static List<String> getIpAddresses() {
if(localIpAddresses == null) {
localIpAddresses = new ArrayList<>();
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) {
continue;
} else {
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = addresses.nextElement();
if (ip != null && ip instanceof Inet4Address) {
localIpAddresses.add(ip.getHostAddress());
}
}
}
}
} catch (Exception e) {
System.err.println("IP地址获取失败" + e.toString());
}
}
return localIpAddresses;
}
}
NetUtils工具类
最新推荐文章于 2024-07-27 13:31:57 发布