Java中的InetAddress类(附带实例)
互联网上表示一个主机的地址有两种方式,即域名地址(如 www.baidu.com)和 IP 地址(如 202.108.35.210)。
InetAddress 类用来表示主机地址,该类的常用方法如下:
使用 InetAddress 类可以很方便地获取网上信息,如主机名和主机 IP 地址。
下面通过一个案例演示 InetAddress 的使用方法。使用 InetAddress 对象获取互联网上指定主机和本地主机的有关信息:
InetAddress 类用来表示主机地址,该类的常用方法如下:
方法名称 | 描述 |
---|---|
static InetAddress getByAddress(byte[] addr) | 在给定原始 IP 地址的情况下,返回 InetAddress 对象。 |
static InetAddress getByAddress(String host, byte[] addr) | 根据提供的主机名和 IP 地址创建 InetAddress。 |
static InetAddress getByName(String host) | 在给定主机名的情况下确定主机的 IP 地址。 |
static InetAddress getLocalHost() | 返回本地主机。 |
byte[] getAddress() | 返回此 InetAddress 对象的原始IP地址。 |
String getHostAddress() | 返回 IP 地址字符串(以文本表现形式)。 |
String getHostName() | 获取此 IP 地址的主机名。 |
boolean isMulticastAddress() | 检查 InetAddress 是否是 IP 多播地址。 |
boolean isReachable(int timeout) | 测试是否可以达到该地址。 |
String toString() | 将此 IP 地址转换为 String。 |
使用 InetAddress 类可以很方便地获取网上信息,如主机名和主机 IP 地址。
下面通过一个案例演示 InetAddress 的使用方法。使用 InetAddress 对象获取互联网上指定主机和本地主机的有关信息:
import java.net.InetAddress; import java.net.UnknownHostException; public class InetAddressTest { public static void main(String args[]) { try { // 获取给定域名的地址 InetAddress inetAddress1 = InetAddress.getByName("www.baidu.com"); System.out.println(inetAddress1.getHostName());// 显示主机名 System.out.println(inetAddress1.getHostAddress());// 显示 IP 地址 System.out.println(inetAddress1);// 显示地址的字符串描述 // 获取本机的地址 InetAddress inetAddress2 = InetAddress.getLocalHost(); System.out.println(inetAddress2.getHostName()); System.out.println(inetAddress2.getHostAddress()); System.out.println(inetAddress2); // 获取给定 IP 的主机地址 (72.5.124.55) byte[] bs = new byte[]{ (byte) 72, (byte) 5, (byte) 124, (byte) 55 }; InetAddress inetAddress3 = InetAddress.getByAddress(bs); System.out.println(inetAddress3); } catch (UnknownHostException e) { e.printStackTrace(); } } }程序运行结果为:
www.baidu.com
110.242.68.5
www.baidu.com/110.242.68.5
DESKTOP-1F04FE1
115.158.64.128
DESKTOP-1F04FE1/115.158.64.128
/72.5.124.55