21xrx.com
2024-11-25 13:58:33 Monday
登录
文章检索 我的文章 写文章
如何用Java获取本机IP地址
2023-06-15 16:40:56 深夜i     --     --
Java IP地址 InetAddress NetworkInterface

在Java编程中,获取本机IP地址是一个很常见的需求。下面简单介绍一下如何使用Java来获取本机IP地址。

首先,使用InetAddress类来获取本机地址信息。代码如下:


InetAddress addr = InetAddress.getLocalHost();

这一行代码会获取本机的IP地址,可以通过调用`addr.getHostAddress()`方法来获取具体的IP地址字符串。如果想获取主机名字,可以调用`addr.getHostName()`方法。

除了上述方法,还可以通过遍历所有的网络接口来获取地址信息。代码如下:


Enumeration interfaces = NetworkInterface.getNetworkInterfaces();

while (interfaces.hasMoreElements()) {

  NetworkInterface ni = interfaces.nextElement();

  Enumeration addresses = ni.getInetAddresses();

  while (addresses.hasMoreElements()) {

    InetAddress addr = addresses.nextElement();

    if (!addr.isLinkLocalAddress() && !addr.isLoopbackAddress() && addr instanceof Inet4Address) {

      String ip = addr.getHostAddress();

      // do something with ip

    }

  }

}

这个代码会遍历所有的网络接口,然后获取每个接口对应的所有地址。根据特定条件可以筛选出需要的IP地址。

值得注意的是,在拥有多个网卡的机器上(比如同时拥有无线和有线网卡的笔记本电脑),上述代码可能会返回多个IP地址。需要对返回的结果进行处理。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复