java.net.InetAddress类表示互联网协议 (IP) 地址。
有两个子类: Inet4AddressInet6Address
 
通过 InetAddress可以方便获取一个域名下的IP,也可以获取一个IP的主机名。
下面是例子,通过程序查看51cto主机的IP信息,51cto是不让ping的。
 
代码:
import java.io.IOException; 
import java.net.InetAddress; 

public  class TestInetAddress { 
         public  static  void main(String[] args)  throws IOException { 
                test(); 
        } 

         public  static  void test()  throws IOException { 
                 //获取本机的IP地址 
                InetAddress address1 = InetAddress.getLocalHost(); 
                System.out.println(address1.getHostAddress()); 
                System.out.println(address1.toString()); 

                System.out.println( "---------------"); 
                 //获取51cot的IP地址 
                InetAddress address2 = InetAddress.getByName( "www.51cto.com"); 
                System.out.println( "getHostAddress:\t" + address2.getHostAddress()); 
                System.out.println( "getHostName:\t" + address2.getHostName()); 
                System.out.println( "---------------"); 
                 //获取我博客的IP地址 
                InetAddress address3 = InetAddress.getByName( "lavasoft.blog.51cto.com"); 
                System.out.println( "getHostAddress:\t" + address3.getHostAddress()); 
                System.out.println( "getHostName:\t" + address3.getHostName()); 
                 //直接用ip地址构建 
                System.out.println(InetAddress.getByName( "211.103.156.224")); 

                System.out.println( "---------------"); 
                 //获取[url]www.google.com[/url]域名下所有的IP地址 
//                InetAddress[] address4 = InetAddress.getAllByName("www.microsoft.com"); 
                InetAddress[] address4 = InetAddress.getAllByName( "www.google.com"); 
                 for (InetAddress address : address4) { 
//                                System.out.println(address.getHostAddress()); 
                        System.out.println(address); 
                } 

                InetAddress address5 = InetAddress.getByName( "211.103.156.229"); 
                System.out.println(address5.isReachable(10)); 
        } 
}
 
运行输出结果:
192.168.1.2 
lavasoft/192.168.1.2 
--------------- 
getHostAddress:  211.103.156.229 
getHostName:  [url]www.51cto.com[/url] 
--------------- 
getHostAddress:  211.103.156.224 
getHostName:  lavasoft.blog.51cto.com 
/211.103.156.224 
--------------- 
[url]www.google.com/64.233.189.99[/url] 
[url]www.google.com/64.233.189.104[/url] 
[url]www.google.com/64.233.189.147[/url] 
false  

本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/120430,如需转载请自行联系原作者