Java 获取本地主机名称及IP地址

本文介绍了如何使用Java的InetAddress类获取本地主机的名称和IP地址,包括主机别名、主机名以及IP地址的字符串和字节形式。通过示例代码展示了获取不同主机信息的方法,并提供了输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 获取本地主机名称及IP地址

一、知识讲解

1、获取 InetAddress 类

(1)获取本地计算机相关信息

InetAddress i = InetAddress.getLocalHost();

(2)通过计算机名称获取计算机相关信息
其中,方法中的参数 host 可以是主机别名,也可以是主机IP。示例:“Person-PC”, “www.126.com”, “10.0.70.30”, “220.181.72.180”

String host = "Person-PC";
InetAddress i = InetAddress.getByName(host);

2、获取主机名

(1)获取主机别名

String hostName = i.getHostName();

(2)获取主机名(有时出现主机名与主机别名相同,有时出现主机名与主机IP相同)

String canonicalHostName = i.getCanonicalHostName();

3、获取主机IP

(1)获取主机IP(字符串形式的IP地址)

String address = i.getHostAddress();

(2)获取主机IP(byte数组形式的IP地址)

byte[] address = i.getAddress();

二、应用案例

    public static void main(String[] args) {
        try {
            String[] hosts = {"Person-PC", "www.126.com", "10.0.70.30", "220.181.72.180"};
            for (String host : hosts) {
                // 获取 InetAddress 类
                InetAddress i = InetAddress.getByName(host); // 通过计算机名称获取计算机相关信息
                // 获取主机名
                String hostName = i.getHostName(); // 获取主机别名,如:Person-PC
                String canonicalHostName = i.getCanonicalHostName(); // 获取主机名(有时出现主机名与主机别名相同,有时出现主机名与主机IP相同),如:Person-PC
                // 获取主机IP
                String hostAddress = i.getHostAddress(); //获取主机IP(字符串形式的IP地址),如: 10.0.70.30
                byte[] address = i.getAddress(); //获取主机IP(byte数组形式的IP地址),如:[B@78308db1

                // 打印
                System.out.println("host:" + host);
                System.out.println("主机别名:" + hostName);
                System.out.println("主机名:" + canonicalHostName);
                System.out.println("主机IP(字符串形式):" + hostAddress);
                System.out.println("主机名(byte数组形式):" + address);
                System.out.println();
            }
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }

输出结果:

host:Person-PC
主机别名:Person-PC
主机名:Person-PC
主机IP(字符串形式):10.0.70.30
主机名(byte数组形式):[B@78308db1

host:www.126.com
主机别名:www.126.com
主机名:220.181.72.180
主机IP(字符串形式):220.181.72.180
主机名(byte数组形式):[B@27c170f0

host:10.0.70.30
主机别名:Person-PC
主机名:Person-PC
主机IP(字符串形式):10.0.70.30
主机名(byte数组形式):[B@5451c3a8

host:220.181.72.180
主机别名:220.181.72.180
主机名:220.181.72.180
主机IP(字符串形式):220.181.72.180
主机名(byte数组形式):[B@2626b418

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值