如何使用Java获取系统IP?

时间:2011-08-01 02:32:33

标签: java network-programming

我试图制作一个有按钮和按钮的jFrame。一个文本区/标签,动机能够检索我的系统IP地址,问题是,当我使用这段代码时

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try
        {
            InetAddress ownIP=InetAddress.getLocalHost();
            jTextField1.setText(ownIP.getHostAddress());
        }
        catch (Exception e)
        {
            jTextField1.setText(e.getMessage());
        }
    }

但是这会让我回到IP地址,127.0.0.1 :( 我的系统上配置了静态IP,但是IP也没有显示 我使用NetBeans IDE 7.0& Ubuntu 11.04

2 个答案:

答案 0 :(得分:4)

您可以获取系统的所有IP地址。使用NetworkInterface.getNetworkInterfaces()方法检索所有网络接口。对于每个返回的接口,使用getInetAddresses()方法检索所有关联的地址。

答案 1 :(得分:2)

FWIW,InetAddress.getLocalHost().getHostAddress()为我提供了真正的 IP地址。

仅供参考,我在Eclipse上的Eclipse中进行单元测试。