InetAddress 类实现了 Serializable 接口 子类有 Inet4Address, Inet6Address
该类没有构造方法 API文档中提供了四种静态方法 可直接调用
getAllByName(String host)
在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
getByAddress(byte[] addr)
在给定原始 IP 地址的情况下,返回 InetAddress
对象。
getByAddress(String host,byte[] addr)
根据提供的主机名和 IP 地址创建 InetAddress。getByName(String host)
返回本地主机。
下面是个例子:
package com.chen.study.test;
import java.lang.reflect.Array;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
public class InetAddressTest {
/**
* 使用InetAddress类 实现基础方法
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println("主机ip地址:"+address.getHostAddress());
System.out.println("主机名称:"+address.getHostName());
byte[] bytes = address.getAddress();
System.out.println("字节数组型的IP地址"+Arrays.toString(bytes));
InetAddress address2 =address.getByName("WIN-R5PAKVOQ0S5");
System.out.println("主机ip地址:"+address2.getHostAddress());
System.out.println("主机名称:"+address2.getHostName());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}