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

Java中的InetAddress类(附带实例)

互联网上表示一个主机的地址有两种方式,即域名地址(如 www.baidu.com)和 IP 地址(如 202.108.35.210)。

InetAddress 类用来表示主机地址,该类的常用方法如下:

方法名称 描述
static InetAddress getByAddress(byte[] addr) 在给定原始 IP 地址的情况下,返回 InetAddress 对象。
static InetAddress getByAddress(String host, byte[] addr) 根据提供的主机名和 IP 地址创建 InetAddress。
static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。
static InetAddress getLocalHost() 返回本地主机。
byte[] getAddress() 返回此 InetAddress 对象的原始IP地址。
String getHostAddress() 返回 IP 地址字符串(以文本表现形式)。
String getHostName() 获取此 IP 地址的主机名。
boolean isMulticastAddress() 检查 InetAddress 是否是 IP 多播地址。
boolean isReachable(int timeout) 测试是否可以达到该地址。
String toString() 将此 IP 地址转换为 String。

使用 InetAddress 类可以很方便地获取网上信息,如主机名和主机 IP 地址。

下面通过一个案例演示 InetAddress 的使用方法。使用 InetAddress 对象获取互联网上指定主机和本地主机的有关信息:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressTest {
    public static void main(String args[]) {
        try {
            // 获取给定域名的地址
            InetAddress inetAddress1 = InetAddress.getByName("www.baidu.com");
            System.out.println(inetAddress1.getHostName());// 显示主机名
            System.out.println(inetAddress1.getHostAddress());// 显示 IP 地址
            System.out.println(inetAddress1);// 显示地址的字符串描述

            // 获取本机的地址
            InetAddress inetAddress2 = InetAddress.getLocalHost();
            System.out.println(inetAddress2.getHostName());
            System.out.println(inetAddress2.getHostAddress());
            System.out.println(inetAddress2);

            // 获取给定 IP 的主机地址 (72.5.124.55)
            byte[] bs = new byte[]{ (byte) 72, (byte) 5, (byte) 124, (byte) 55 };
            InetAddress inetAddress3 = InetAddress.getByAddress(bs);
            System.out.println(inetAddress3);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
程序运行结果为:

www.baidu.com
110.242.68.5
www.baidu.com/110.242.68.5
DESKTOP-1F04FE1
115.158.64.128
DESKTOP-1F04FE1/115.158.64.128
/72.5.124.55

相关文章