首页 > 编程笔记 > Java笔记 阅读:32

Java InetAddress类的用法(附带实例)

Java 提供了一个专门用于表示 IP 地址的类 java.net.InetAddress。

InetAddress 类的对象中包含一个 Internet 主机的 IP 地址,并且可能包含相对应的域名。InetAddress 类提供了操作 IP 地址的各种方法。该类本身没有构造方法,而是通过调用相关的静态方法来获取实例的。

InetAddress 类提供了获取任何主机名的 IP 地址的方法。IP 地址由 32 位或 128 位无符号数表示。使用 InetAddress 类可以处理 IPv4 协议和 IPv6 协议。

InetAddress 类常用的方法如下表所示:

方法名 功能
byte[] getAddress() 返回此 InetAddress 对象的原始 IP 地址。
static InetAddress[] getAllByName(String host) 在给定主机名的情况下,根据系统配置的名称服务器返回其 IP 地址所组成的数组。
static InetAddress getByAddress(byte[] addr) 在给定原始 IP 地址的情况下,返回 InetAddress 对象。
static InetAddress getByAddress(String host) 在给定主机名的情况下确定主机的 IP 地址。
String getCanonicalHostName() 获取此 IP 地址的完全限定域名。
String getHostAddress() 返回 IP 地址的字符串(以文本形式表示)。
String getHostName() 返回 IP 地址的主机名。
static InetAdders getLocalHost() 返回包含本地主机名和地址的 InetAddress 类的实例。

【实例】使用 InetAddress 对象获取 IP 地址的字符串和主机名。
import java.net.InetAddress;

public class Example {
    public static void main(String[] args) {
        try {
           // 调用 getByName() 方法并传递参数
           InetAddress ia1 = InetAddress.getByName("c.biancheng.net");
           System.out.println(ia1.getHostName());
           System.out.println(ia1.getHostAddress());
           // 创建一个 InetAddress 对象,用于获取本地主机的信息
           InetAddress ia2 = InetAddress.getLocalHost();
           System.out.println("主机名: "+ia2.getHostName());
           System.out.println("本地 IP 地址: "+ia2.getHostAddress());
       } catch(Exception e) {
           e.printStackTrace();
       }
   }
}
运行结果为(虚拟输出):

主机名: c.biancheng.net
IP 地址: 123.456.789.012
主机名: LAPTOP-8315ME4
本地 IP 地址: 192.168.1.2

相关文章