Java网络编程从入门到精通(2):创建InetAddress对象的四个静态方法 - 编程入门网
Java网络编程从入门到精通(2):创建InetAddress对象的四个静态方法时间:2011-01-12InetAddress类是Java中用于描述IP地址的类。它在java.net包中。在Java中分别用Inet4Address和Inet6Address类来描述IPv4和IPv6的地址。这两个类都是InetAddress的子类。由于InetAddress没有public的构造方法,因此,要想创建InetAddress对象,必须得依靠它的四个静态方法。InetAddress可以通过getLocalHost方法得到本机的InetAddress对象,也可以通过getByName、getAllByName和getByAddress得到远程主机的InetAddress对象。 一、getLocalHost方法 使用getLocalHost可以得到描述本机IP的InetAddress对象。这个方法的定义如下: public static InetAddress getLocalHost() throws UnknownHostException 这个方法抛出了一个UnknownHostException异常,因此,必须在调用这个方法的程序中捕捉或抛出这个异常。下面的代码演示了如何使用getLocalHost来得到本机的IP和计算机名。
运行结果:
在InetAddress类中覆盖了Object类的toString方法,实现如下:
从上面的代码可以看出,InetAddress方法中的toString方法返回了用“/“隔开的主机名和IP地址。因此,在上面的代码中直接通过localAddress对象来输出本机计算机名和IP地址(将对象参数传入println方法后,println方法会调用对象参数的toString方法来输出结果)。 当本机绑定了多个IP时,getLocalHost只返回第一个IP。如果想返回本机全部的IP,可以使用getAllByName方法。 Java网络编程从入门到精通(2):创建InetAddress对象的四个静态方法(2)时间:2011-01-12二、getByName方法 这个方法是InetAddress类最常用的方法。它可以通过指定域名从DNS中得到相应的IP地址。getByName一个String类型参数,可以通过这个参数指定远程主机的域名,它的定义如下: public static InetAddress getByName(String host) throws UnknownHostException 如果host所指的域名对应多个IP,getByName返回第一个IP。如果本机名已知,可以使用getByName方法来代替getLocalHost。当host的值是localhost时,返回的IP一般是127.0.0.1。如果host是不存在的域名,getByName将抛出UnknownHostException异常,如果host是IP地址,无论这个IP地址是否存在,getByName方法都会返回这个IP地址(因此getByName并不验证IP地址的正确性)。下面代码演示了如何使用getByName方法:
测试1:远程主机www.csdn.net 执行如下命令: java inet.MyInetAddress2 www.csdn.net 运行结果: www.csdn.net/211.100.26.124 测试2:本机名ComputerName 执行如下命令: java inet.MyInetAddress2 ComputerName 运行 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |