InetAddress
是 Java 中用于表示 IP 地址的类,它提供了一些方法来获取主机的 IP 地址、主机名和别名等信息()。该类在网络编程中被广泛使用。
Java 中的 InetAddress
类是一个抽象类,有两个常用的子类:Inet4Address
和 Inet6Address
,分别用于表示 IPv4 和 IPv6 地址。
它的主要方法有:
getByName(String host)
:获取指定主机名或 IP 地址的 InetAddress 对象。getLocalHost()
:获取本地主机的 InetAddress 对象。getHostName()
:获取 InetAddress 对象所代表的主机的主机名。getHostAddress()
:获取 InetAddress 对象所代表的主机的 IP 地址。getCanonicalHostName()
:获取 InetAddress 对象所代表的主机的规范化主机名。
这是一个使用该类获取本地ip的简单实例
import java.net.*;
public class InetAddressExample {
public static void main(String[] args) {
try {
// 获取本地主机的 InetAddress 对象
InetAddress localHost = InetAddress.getLocalHost();
// 输出本地主机的 IP 地址和主机名
System.out.println("IP Address: " + localHost.getHostAddress());
System.out.println("Hostname: " + localHost.getHostName());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
除此之外,还有一些别的操作使用
isReachable(int timeout)
:检测当前主机是否可达,可以指定超时时间。getAddress()
:获取 InetAddress 对象的原始 IP 地址(字节数组表示)。isMulticastAddress()
:判断 InetAddress 对象是否为多播地址。isLoopbackAddress()
:判断 InetAddress 对象是否为回环地址。isAnyLocalAddress()
:判断 InetAddress 对象是否为通配地址。equals(Object obj)
:判断 InetAddress 对象是否与另一个对象相等。