Java InetAddress类及其常用方法

Internet 上的主机有两种方式表示地址,分别为域名和 IP 地址。java.net 包中的 InetAddress 类对象包含一个 Internet 主机地址的域名和 IP 地址。

InetAddress 类提供了操作 IP 地址的各种方法。该类本身没有构造方法,而是通过调用相关静态方法获取实例。InetAddress 类中的常用方法如下表 所示。

表1 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 地址字符串和主机名,代码如下所示。

 
  1. public static void main(String[] args)
  2. {
  3. try
  4. {
  5. InetAddress ia1=InetAddress.getByName("www.qq.com");
  6. System.out.println(ia1.getHostName());
  7. System.out.println(ia1.getHostAddress());
  8. }
  9. catch(UnknownHostException e)
  10. {
  11. e.printStackTrace();
  12. }
  13. }


(2) 在 main() 方法中添加代码,创建一个 InetAddress 对象,调用 getByName() 方法并传递参数“61.135.169.105”输出此对象的 IP 地址字符串和主机名,代码如下所示。

 
  1. try
  2. {
  3. InetAddress ia2=InetAddress.getByName("61.135.169.105");
  4. System.out.println(ia2.getHostName());
  5. System.out.println(ia2.getHostAddress());
  6. }
  7. catch(UnknownHostException e)
  8. {
  9. e.printStackTrace();
  10. }


(3) 创建一个 InetAddress 对象用于获取本地主机的信息,输出此对象的 IP 地址字符串和主机名,代码如下所示。

 
  1. try
  2. {
  3. InetAddress ia3=InetAddress.getLocalHost();
  4. System.out.println("主机名:"+ia3.getHostName());
  5. System.out.println("本地ip地址:"+ia3.getHostAddress());
  6. }
  7. catch(UnknownHostException e)
  8. {
  9. e.printStackTrace();
  10. }


(4) 执行程序,运行结果如下所示。

www.qq.com
123.151.137.18
61.135.169.105
61.135.169.105
主机名:WQ-20161107KCPN
本地ip地址:192.168.0.102


注意:在上述代码中包含互联网的地址,所以运行时需要连网,否则会出现异常。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值