在鸿蒙OS中,InetAddress 类是用于表示 IP 地址的抽象类。它是 Inet4Address 和 Inet6Address 的父类,可以用来表示 IPv4 或 IPv6 地址。InetAddress 类提供了一些方法,使得你可以获取 IP 地址的各种信息。

以下是一个简单的示例代码,演示了如何在鸿蒙OS中使用 InetAddress:
import ohos.global.net.InetAddress;
import ohos.global.net.UnknownHostException;

public class InetAddressExample {
    public static void main(String[] args) {
        try {
            // 通过域名获取InetAddress对象
            InetAddress inetAddress = InetAddress.getByName("www.example.com");

            // 获取IP地址的字节数组形式
            byte[] ipAddress = inetAddress.getAddress();
            System.out.println("IP Address: " + formatByteArray(ipAddress));

            // 获取IP地址的字符串形式
            String ipAddressString = inetAddress.getHostAddress();
            System.out.println("IP Address String: " + ipAddressString);

            // 获取主机名
            String hostName = inetAddress.getHostName();
            System.out.println("Host Name: " + hostName);

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }

    // 辅助方法:将字节数组格式化为点分十进制字符串
    private static String formatByteArray(byte[] byteArray) {
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < byteArray.length; i++) {
            result.append(byteArray[i] & 0xFF);
            if (i < byteArray.length - 1) {
                result.append(".");
            }
        }
        return result.toString();
    }
}

在这个例子中,通过 InetAddress.getByName 方法根据域名获取了 InetAddress 对象,然后演示了如何获取 IP 地址的字节数组形式和字符串形式,以及获取主机名的方法。

请注意,这只是一个简单的示例,实际应用中可能需要根据具体的需求进行更复杂的处理。鸿蒙OS的相关文档和开发者手册也提供了更详细的信息和示例。


转载请注明出处:http://www.zyzy.cn/article/detail/2823/鸿蒙OS