Java 获取IP和MAC信息工具类

在Java开发中,有时候我们需要获取设备的IP地址和MAC地址信息。为了方便开发人员快速获取这些信息,可以使用一个工具类来实现这个功能。

获取IP和MAC信息工具类的设计思路

我们可以使用Java的网络编程和系统信息获取来实现获取IP和MAC信息的功能。具体来说,我们可以通过InetAddress类来获取IP地址,通过NetworkInterface类来获取MAC地址。

IP和MAC信息工具类的代码实现

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

public class IpMacUtils {
    
    public static String getIpAddress() {
        try {
            InetAddress inetAddress = InetAddress.getLocalHost();
            return inetAddress.getHostAddress();
        } catch (UnknownHostException e) {
            e.printStackTrace();
            return null;
        }
    }
    
    public static String getMacAddress() {
        try {
            InetAddress inetAddress = InetAddress.getLocalHost();
            NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress);
            byte[] mac = networkInterface.getHardwareAddress();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < mac.length; i++) {
                sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
            }
            return sb.toString();
        } catch (UnknownHostException | SocketException e) {
            e.printStackTrace();
            return null;
        }
    }
}

类图

classDiagram
    class IpMacUtils {
        +getIpAddress(): String
        +getMacAddress(): String
    }

使用示例

public class Main {
    
    public static void main(String[] args) {
        String ipAddress = IpMacUtils.getIpAddress();
        String macAddress = IpMacUtils.getMacAddress();
        
        System.out.println("IP地址:" + ipAddress);
        System.out.println("MAC地址:" + macAddress);
    }
}

总结

通过上述代码示例,我们可以看到如何使用Java编写一个简单的工具类来获取设备的IP地址和MAC地址信息。这样可以方便我们在开发中获取这些信息,用于需要的场景。希望本文对你有所帮助,谢谢阅读!