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

时间:2024-10-13 18:07:38

Java获得本机IP地址的方式有很多很多。这里只需要配置好Java环境就好。也就是说,不需要第三方插件,不需要CMD操作。如果妳是发烧友,同时有多张网卡同时在用,那么就漂亮了。。。下面跟我来,我演示给大家看~

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

工具/原料

一台配置好java环境的可以上网的电脑

Java获得本机IP

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
© 手抄报圈