Java如何获取IP地址——包含IPv4和IPv6

2025-11-20 02:40:04

1、首先,创建工程,包,和一个类。

在此不加详述,我们直接看代码。

这里,我把这个类命名为GetIpAddr

Java如何获取IP地址——包含IPv4和IPv6

2、这里,我们首先需要知道计算机名,而并非用户名。

这么查看:

开始菜单,右键单机“计算机”,点击属性。

或者,打开计算机,左下角列表里面,右键单机“计算机”,点击属性。

位置已经标明,恕不公开我的名称,谢谢谅解。

Java如何获取IP地址——包含IPv4和IPv6

Java如何获取IP地址——包含IPv4和IPv6

Java如何获取IP地址——包含IPv4和IPv6

3、接着,最最核心的就是接下来的这个方法。

我们通过InetAddress这个类来操作。

调用getAllByName()这个方法来获取一个地址数组。

我们把 这个数组遍历一次,然后输出来就是。

不多废话,代码很短。看代码:

private void getIpAddr() 

      throws SocketException, UnknownHostException {

  // 这XXXXXXX呢,是指计算机名,右键我的电脑,点属性查看就知道

  for (InetAddress it : InetAddress.getAllByName("XXXXXXX")) {

    System.out.println(ipv4OrIpv6(it));

  }

}

Java如何获取IP地址——包含IPv4和IPv6

4、上面的for each 循环里面,怎么会有一个ipv4OrIpv6()的方法呢?

这里我们给出解释:

输出时候,判断这个地址是IPv4还是IPv6. 然后输出。

判断方法有点笨拙,见谅。

这也是为了视觉的直观,也夹带着个人的习惯。

代码是:

private static String ipv4OrIpv6(InetAddress ita) {

  String[] itn = ita.toString().split("/");

  String str = itn[1];

  if (str.length() > 16) {

    return "IPv6\t" + ita.toString();

  }

  return "IPv4\t" + ita.toString();

}

Java如何获取IP地址——包含IPv4和IPv6

5、最后,我写一个测试的主方法,然后运行一下看看结果。

大家一起也试试?

public static void main(String[] args) 

     throws SocketException, UnknownHostException {

  new GetIpAddr().getIpAddr();

}

结果如图:

Java如何获取IP地址——包含IPv4和IPv6

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢