Java之获取本机所有IP

迈不过友情╰ 2022-05-04 15:00 399阅读 0赞

IP工具类:

  1. //获取本机所有IP地址
  2. public class IpUtil {
  3. public static List<String> getLocalIPList() {
  4. List<String> ipList = new ArrayList<String>();
  5. try {
  6. Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
  7. NetworkInterface networkInterface;
  8. Enumeration<InetAddress> inetAddresses;
  9. InetAddress inetAddress;
  10. String ip;
  11. while (networkInterfaces.hasMoreElements()) {
  12. networkInterface = networkInterfaces.nextElement();
  13. inetAddresses = networkInterface.getInetAddresses();
  14. while (inetAddresses.hasMoreElements()) {
  15. inetAddress = inetAddresses.nextElement();
  16. if (inetAddress != null && inetAddress instanceof Inet4Address) { // IPV4
  17. ip = inetAddress.getHostAddress();
  18. ipList.add(ip);
  19. }
  20. }
  21. }
  22. } catch (SocketException e) {
  23. e.printStackTrace();
  24. }
  25. return ipList;
  26. }
  27. }

测试类:

  1. List<String> ip = IpUtil.getLocalIPList();
  2. System.out.println("本机Ip为:"+ip);

输出结果为:
在这里插入图片描述
之后经过测试发现,如果仅获取IPv4,可以直接用JDK获取:

  1. System.out.println("本机IPv4为:"+InetAddress.getLocalHost().getHostAddress());

输出结果为:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,399人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java获取所有IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下\[@more@\]突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己