在Java中,`InetAddress`是一个用于表示IP地址的类,它位于`java.net`包中。`InetAddress`类提供了一些方法来操作和获取IP地址的信息。
`InetAddress`类有两个子类:`Inet4Address`和`Inet6Address`,分别用于表示IPv4地址和IPv6地址。
`InetAddress`类的常用方法包括:
- `getByName(String host)`:通过主机名或IP地址字符串获取`InetAddress`对象。
- `getHostAddress()`:获取IP地址的字符串表示。
- `getHostName()`:获取主机名。
- `isReachable(int timeout)`:检测主机是否可达。
- `isLoopbackAddress()`:判断是否为回环地址。
- `isMulticastAddress()`:判断是否为多播地址。
- `getCanonicalHostName()`:获取主机的规范名。
使用`InetAddress`类可以进行一些网络编程的操作,比如获取本机的IP地址、判断主机是否可达、解析域名等。
下面是一个使用`InetAddress`类的示例代码:
import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressExample { public static void main(String[] args) { try { // 获取本机的InetAddress对象 InetAddress localHost = InetAddress.getLocalHost(); System.out.println("本机IP地址:" + localHost.getHostAddress()); System.out.println("本机主机名:" + localHost.getHostName()); // 通过主机名获取InetAddress对象 InetAddress google = InetAddress.getByName("www.google.com"); System.out.println("Google IP地址:" + google.getHostAddress()); System.out.println("Google 主机名:" + google.getHostName()); // 判断主机是否可达 boolean isReachable = google.isReachable(5000); System.out.println("Google 是否可达:" + isReachable); } catch (UnknownHostException e) { e.printStackTrace(); } } }
结果:
本机IP地址:192.168.1.102
本机主机名:master.local
Google IP地址:108.160.170.41
Google 主机名:www.google.com
Google 是否可达:false
以上代码演示了如何获取本机的IP地址和主机名,以及通过主机名获取远程主机的IP地址和主机名,并判断远程主机是否可达。
文章评论