当前位置: 代码网 > it编程>编程语言>Java > Java 获取本机IP地址的方法的两种方法

Java 获取本机IP地址的方法的两种方法

2025年01月23日 Java 我要评论
在 java 编程中,若有本机的 ip 地址的需求,小编来展示一下方法:一、使用 inetaddress.getlocalhost一是最基本的获取本机 ip 地址的方式。示例代码:import jav

在 java 编程中,若有本机的 ip 地址的需求,小编来展示一下方法:

一、使用 inetaddress.getlocalhost

一是最基本的获取本机 ip 地址的方式。

示例代码:

import java.net.inetaddress;

import java.net.unknownhostexception;

public class getipaddress {

    public static void main(string[] args) {

        try {

            inetaddress inetaddress = inetaddress.getlocalhost();

            system.out.println("本机 ip 地址: " + inetaddress.gethostaddress());

        } catch (unknownhostexception e) {

            e.printstacktrace();

        }

    }

}

这种方法在大多数简单场景下可以正常工作,但如果主机有多个网络接口或者处于复杂的网络环境中,可能获取到的不是期望的 ip 地址

二、遍历网络接口获取

通过遍历所有网络接口来获取更准确的 ip 地址信息。

示例代码:

import java.net.inetaddress;

import java.net.networkinterface;

import java.net.socketexception;

import java.util.enumeration;



public class getipaddressbyinterface {

    public static void main(string[] args) {

        try {

            enumeration<networkinterface> networkinterfaces = networkinterface.getnetworkinterfaces();

            while (networkinterfaces.hasmoreelements()) {

                networkinterface networkinterface = networkinterfaces.nextelement();

                enumeration<inetaddress> inetaddresses = networkinterface.getinetaddresses();

                while (inetaddresses.hasmoreelements()) {

                    inetaddress inetaddress = inetaddresses.nextelement();

                    if (!inetaddress.isloopbackaddress() && inetaddress.gethostaddress().indexof(':') == -1) {

                        system.out.println("本机 ip 地址: " + inetaddress.gethostaddress());

                    }

                }

            }

        } catch (socketexception e) {

            e.printstacktrace();

        }

    }

}

上述代码首先获取所有网络接口,然后遍历每个接口下的 ip 地址,排除回环地址(isloopbackaddress 判断)和 ipv6 地址(通过 indexof(‘:’) == -1 判断),从而得到可能的本机 ip 地址。这种方法在复杂网络环境中能获取到多个符合条件的 ip 地址,可根据实际需求进一步筛选。

通过以上两种方法,可以在 java 程序中获取本机的 ip 地址,开发人员可根据具体的应用场景选择合适的方法使用。

到此这篇关于java 获取本机ip地址的方法的两种方法的文章就介绍到这了,更多相关java 获取本机ip地址内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com