Java InetAddress类 图片看不了?点击切换HTTP 返回上层
Internet 上的主机有两种方式表示地址,分别为域名和 IP 地址。java.net 包中的 InetAddress 类对象包含一个 Internet 主机地址的域名和 IP 地址。
InetAddress 类提供了操作 IP 地址的各种方法。该类本身没有构造方法,而是通过调用相关静态方法获取实例。InetAddress 类中的常用方法如下表 所示。
(1) 创建一个类。在 main() 方法中创建一个 InetAddress 对象,调用 getByName() 方法并传递参数“www.qqxom”输出此对象的 IP 地址字符串和主机名,代码如下所示。
(2) 在 main() 方法中添加代码,创建一个 InetAddress 对象,调用 getByName() 方法并传递参数“61.135.169.105”输出此对象的 IP 地址字符串和主机名,代码如下所示。
(3) 创建一个 InetAddress 对象用于获取本地主机的信息,输出此对象的 IP 地址字符串和主机名,代码如下所示。
(4) 执行程序,运行结果如下所示。
注意:在上述代码中包含互联网的地址,所以运行时需要连网,否则会出现异常。
InetAddress 类提供了操作 IP 地址的各种方法。该类本身没有构造方法,而是通过调用相关静态方法获取实例。InetAddress 类中的常用方法如下表 所示。
方法名称 | 说明 |
---|---|
boolean equals(Object obj) | 将此对象与指定对象比较 |
byte[] getAddress() | 返回此 InetAddress 对象的原始 IP 地址 |
static InetAddress[] getAHByName(String host) |
在给定主机名的情况下,根据系统上配置的名称,服务器返 回其 IP 地址所组成的数组 |
static InetAddress getByAddress(byte[] addr) | 在给定原始 IP 地址的情况下,返回 InetAddress 对象 |
static InetAddress getByAddress(String host) | 在给定主机名的情况下确定主机的 IP 地址 |
String getCanonicalHostName() | 获取此 IP 地址的完全限定域名 |
String getHostAddress() | 返回 IP 地址字符串(以文本表现形式) |
String getHostName() | 返回此 IP 地址的主机名 |
static InetAdderss getLocalHost() | 返回本地主机 |
例 1
编写程序练习 InetAddress 类的基本使用方法,主要步骤如下所示。(1) 创建一个类。在 main() 方法中创建一个 InetAddress 对象,调用 getByName() 方法并传递参数“www.qqxom”输出此对象的 IP 地址字符串和主机名,代码如下所示。
public static void main(String[] args) { try { InetAddress ia1=InetAddress.getByName("www.qq.com"); System.out.println(ia1.getHostName()); System.out.println(ia1.getHostAddress()); } catch(UnknownHostException e) { e.printStackTrace(); } }
(2) 在 main() 方法中添加代码,创建一个 InetAddress 对象,调用 getByName() 方法并传递参数“61.135.169.105”输出此对象的 IP 地址字符串和主机名,代码如下所示。
try { InetAddress ia2=InetAddress.getByName("61.135.169.105"); System.out.println(ia2.getHostName()); System.out.println(ia2.getHostAddress()); } catch(UnknownHostException e) { e.printStackTrace(); }
(3) 创建一个 InetAddress 对象用于获取本地主机的信息,输出此对象的 IP 地址字符串和主机名,代码如下所示。
try { InetAddress ia3=InetAddress.getLocalHost(); System.out.println("主机名:"+ia3.getHostName()); System.out.println("本地ip地址:"+ia3.getHostAddress()); } catch(UnknownHostException e) { e.printStackTrace(); }
(4) 执行程序,运行结果如下所示。
www.qq.com 123.151.137.18 61.135.169.105 61.135.169.105 主机名:WQ-20161107KCPN 本地ip地址:192.168.0.102
注意:在上述代码中包含互联网的地址,所以运行时需要连网,否则会出现异常。