NetworkInterface实例 打印出与本地主机关联的所有IP地址

package example1;

import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

/**
 * 本例子目的:
 * 1,打印出与本地主机关联的所有IP地址.
 * 2,然后对于每个在命令行中指定的主机,打印出其相关的主机名和地址.
 * commands:% java InetAddressExample www.google.cn bala.bala 129.23.67.6
 * @author steve_wang_victor
 * @date 2010-2-24
 */
public class InetAddressExample
{

 /**
  * @param args
  */
 public static void main(String[] args)
 {
  Enumeration<NetworkInterface> interfaceList = null;
  try
  {
   //返回该主机每一个接口所对应的网络接口(NetworkInterface)对应的实例列表.
   interfaceList = NetworkInterface.getNetworkInterfaces();
   if(interfaceList == null)
   {
    System.out.println("--No interface found --");
   }
   else
   {
    //打印出每一个接口所关联的地址.
    while(interfaceList.hasMoreElements())
    {
     NetworkInterface iface = interfaceList.nextElement();
     System.out.println("Interface " + iface.getName()+" :");
     //返回一个接口的所关联的地址列表(getInetAddresses).
     Enumeration<InetAddress> addrList = iface.getInetAddresses();
     if(!addrList.hasMoreElements())
     {
      System.out.println("/t(No address for this interface)");
     }
     //打印出地址.
     while(addrList.hasMoreElements())
     {
      InetAddress address = addrList.nextElement();
      System.out.print("/tAddress "+
        ((address instanceof Inet4Address ? "(v4)" :
        (address instanceof Inet6Address ? "(v6)" : "(?)"
         ))));
      System.out.println(": "+address.getHostAddress());
     }
    }
   }
  } catch (SocketException e)
  {
   System.out.println("Error getting network interfaces:" + e.getMessage());
  }
  
  //获取从命令行输入的每个参数所对应的主机名和地址.
  for (String host : args)
  {
   System.out.println(host +":");
   try
   {
    //获取给定主机名/地址的相关地址列表.
    InetAddress[] addressList = InetAddress.getAllByName(host);
    for (InetAddress address : addressList)
    {
     System.out.println("/t"+address.getHostAddress()+"/"+address.getHostAddress());
    }
    
   } catch (UnknownHostException e)
   {
    System.out.println("/tUnable to find address for "+ host);
   }
   
  }
 }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值