Java获取电脑MAC地址以及IP地址

在Java中,我们可以使用一些库和API来获取电脑的MAC地址和IP地址。在本文中,我们将介绍如何使用Java代码获取这些信息,并提供相应的示例代码。

MAC地址

MAC地址(Media Access Control Address)是一个用于唯一标识网络设备的物理地址。每个网络接口都有一个唯一的MAC地址,它由48位二进制数表示,通常以十六进制的形式显示。在Java中,我们可以使用Network Interface类和InetAddress类来获取MAC地址。

下面是一个使用Network Interface类获取MAC地址的示例代码:

import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;

public class GetMacAddressExample {
    public static void main(String[] args) {
        try {
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaces.hasMoreElements()) {
                NetworkInterface networkInterface = networkInterfaces.nextElement();
                byte[] mac = networkInterface.getHardwareAddress();
                if (mac != null) {
                    StringBuilder macAddress = new StringBuilder();
                    for (int i = 0; i < mac.length; i++) {
                        macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
                    }
                    System.out.println("MAC Address: " + macAddress.toString());
                }
            }
        } catch (SocketException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们使用NetworkInterface.getNetworkInterfaces()方法获取系统中所有的网络接口,然后通过调用getHardwareAddress()方法获取每个网络接口的MAC地址。最后,我们将MAC地址以十六进制形式显示出来。

IP地址

IP地址(Internet Protocol Address)用于标识网络中的设备。在Java中,我们可以使用InetAddress类来获取IP地址。InetAddress类提供了多个静态方法来获取本地主机的IP地址。

下面是一个使用InetAddress类获取IP地址的示例代码:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class GetIPAddressExample {
    public static void main(String[] args) {
        try {
            InetAddress localHost = InetAddress.getLocalHost();
            System.out.println("IP Address: " + localHost.getHostAddress());
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,我们使用InetAddress.getLocalHost()方法获取本地主机的InetAddress对象,然后调用getHostAddress()方法获取IP地址。

流程图

下面是一个使用mermaid语法表示的获取电脑MAC地址和IP地址的流程图:

flowchart TD
    A[开始] --> B[获取网络接口]
    B --> C{是否有更多接口}
    C -- 是 --> D[获取接口MAC地址]
    C -- 否 --> E[结束]
    D --> F[显示MAC地址]
    F --> C

总结

在本文中,我们介绍了如何使用Java代码获取电脑的MAC地址和IP地址。我们使用了Network Interface类和InetAddress类来分别获取MAC地址和IP地址。同时,我们提供了相应的示例代码,并使用mermaid语法表示了获取过程的流程图。通过这些方法,我们可以方便地获取电脑的MAC地址和IP地址,并在需要的时候进行相应的处理。

希望本文对您有所帮助!