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

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

猜你喜欢

转载自blog.csdn.net/Shipley_Leo/article/details/131024969
今日推荐