📜  在 Windows 和 Linux 机器中获取系统 IP 地址的Java程序

📅  最后修改于: 2022-05-13 01:54:23.452000             🧑  作者: Mango

在 Windows 和 Linux 机器中获取系统 IP 地址的Java程序

IP 地址: Internet 协议地址是分配给连接到使用 Internet 协议进行通信的计算机网络的每个设备的数字标签。

使用的软件包:

  1. io(输入输出) :这个包通过数据流、序列化和文件系统提供系统输入和输出。
  2. net (network) :这个包提供了用于实现网络应用程序的类。
  3. util(实用程序) :它包含集合框架、遗留集合类、事件模型、日期和时间设施、国际化和杂项实用程序类

使用的方法:

1. getInetAddresses()

句法:

public Enumeration getInetAddresses()

返回类型:它返回 InetAddress 的枚举。

2. getInterfaceAddresses()

句法:

public List getInterfaceAddresses()

返回类型:它返回一个Java.net.InterfaceAddress 实例列表。

下面是问题陈述的实现:

Java
// Java Program to Get System IP Address
// in Windows and Linux Machine
import static java.lang.System.out;
 
import java.io.*;
import java.net.*;
import java.util.*;
 
public class gfg {
    public static void main(String args[]) // main method
        throws SocketException
    {
        // fetching network interface
        Enumeration nets
            = NetworkInterface.getNetworkInterfaces();
 
        for (NetworkInterface netint :
             Collections.list(nets))
            displayInterfaceInformation(netint);
    }
 
    // Display Internet Information method
    static void
    displayInterfaceInformation(NetworkInterface netint)
        throws SocketException
    {
        out.printf("Display name: %s\n",
                   netint.getDisplayName());
        out.printf("Name: %s\n", netint.getName());
        Enumeration inetAddresses
            = netint.getInetAddresses();
        // Output System IP
        for (InetAddress inetAddress :
             Collections.list(inetAddresses)) {
            out.printf("System IP: %s\n", inetAddress);
        }
        out.printf("\n");
    }
}


输出
Display name: eth0
Name: eth0

Display name: lo
Name: lo
System IP: /127.0.0.1

Windows 中的输出:

Linux 中的输出: