位置:首页 > Java > InetAddress是什么及其作用与使用方法

InetAddress是什么及其作用与使用方法

时间:2026-08-15  |  作者:星际追番人  |  阅读:0

InetAddress类的常用方法

在JDK中提供了一个与IP地址相关的InetAddress类,该类用于封装一个IP地址,并提供了一系列与IP地址相关的方法。

接下来列举InetAddress类中的一些常用方法,如表1所示。

表1 InetAddress类的常用方法

方法声明 功能描述
InetAddress getByName(String host) 获取给定主机名的的IP地址,host参数表示指定主机
InetAddress getLocalHost() 获取本地主机地址
String getHostName() 获取本地IP地址的主机名
boolean isReachable(int timeout) 判断在限定时间内指定的IP地址是否可以访问
String getHostAddress() 获取字符串格式的原始IP地址

表1方法说明

表1列出了InetAddress最常用的五个方法。

其中,前两个方法主要用于获取这个类的实例对象:

  • getByName(String host):用于获取表示指定主机的InetAddress对象。
  • getLocalHost():用于获取表示本机的InetAddress对象。

有了InetAddress对象之后,就可以进一步获取指定主机的主机名、IP地址等信息。

下面结合一个案例,具体演示InetAddress类这些常用方法的基本用法,见文件1。

示例代码

文件1 Example01.ja va

 1    import ja va.net.InetAddress;
 2    public class Example01 {
 3        public static void main(String[] args) throws Exception {
 4             // 获取本地主机InetAddress对象
 5            InetAddress localAddress = InetAddress.getLocalHost();
 6             // 获取主机名为“www.itcast.cn”的InetAddress对象
 7            InetAddress remoteAddress =
 8                                     InetAddress.getByName("www.itcast.cn");
 9            System.out.println("本机的IP地址:" 
 10                                    + localAddress.getHostAddress());
 11            System.out.println("itcast的IP地址:" 
 12                                    + remoteAddress.getHostAddress());
 13            System.out.println("3秒内是否可以访问:" 
 14                                    + remoteAddress.isReachable(3000));
 15            System.out.println("itcast的主机名为:" 
 16                                    + remoteAddress.getHostName());
 17        }
 18    }

运行结果如图1所示。

InetAddress是什么及其作用与使用方法_wishdown.com

图1 运行结果

运行结果分析

从图1中可以直观地看到,InetAddress类里几个常用方法分别会得到什么样的结果。

这里有个细节尤其要留意:getHostName() 方法的作用,是拿到某台主机对应的域名。

  • 如果这个 InetAddress 对象本身就是通过主机名创建出来的,那么返回的就是这个主机名。
  • 如果不是,而是通过 IP 地址创建的,它就会尝试根据该 IP 做一次反向查询。
  • 找到对应主机名就返回主机名。
  • 找不到的话,最终返回的仍然是这个 IP 地址。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多