C語言中文網 目錄

Java InetAddress類及其常用方法

Internet 上的主機有兩種方式表示地址,分別為域名 IP 地址。java.net 包中的 InetAddress 類對象包含一個 Internet 主機地址的域名和 IP 地址。

InetAddress 類提供了操作 IP 地址的各種方法。該類本身沒有構造方法,而是通過調用相關靜態方法獲取實例。InetAddress 類中的常用方法如下表 所示。
表1 InetAddress類的常用方法
方法名稱 說明
boolean equals(Object obj) 將此對象與指定對象比較
byte[] getAddress() 返回此 InetAddress 對象的原始 IP 地址
static InetAddress[] getAHByName(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 InetAdderss getLocalHost() 返回本地主機

例 1

編寫程序練習 InetAddress 類的基本使用方法,主要步驟如下所示。

(1) 創建一個類。在 main() 方法中創建一個 InetAddress 對象,調用 getByName() 方法并傳遞參數“www.qqxom”輸出此對象的 IP 地址字符串和主機名,代碼如下所示。
public static void main(String[] args)
{       
    try
    {
        InetAddress ia1=InetAddress.getByName("www.qq.com");
        System.out.println(ia1.getHostName());
        System.out.println(ia1.getHostAddress());
    }
    catch(UnknownHostException e)
    {
        e.printStackTrace();
    }       
}

(2) 在 main() 方法中添加代碼,創建一個 InetAddress 對象,調用 getByName() 方法并傳遞參數“61.135.169.105”輸出此對象的 IP 地址字符串和主機名,代碼如下所示。
try
{
    InetAddress ia2=InetAddress.getByName("61.135.169.105");
    System.out.println(ia2.getHostName());
    System.out.println(ia2.getHostAddress());
}
catch(UnknownHostException e)
{
    e.printStackTrace();
}

(3) 創建一個 InetAddress 對象用于獲取本地主機的信息,輸出此對象的 IP 地址字符串和主機名,代碼如下所示。
try
{
    InetAddress ia3=InetAddress.getLocalHost();
    System.out.println("主機名:"+ia3.getHostName());
    System.out.println("本地ip地址:"+ia3.getHostAddress());
}
catch(UnknownHostException e)
{
    e.printStackTrace();
}

(4) 執行程序,運行結果如下所示。
www.qq.com
123.151.137.18
61.135.169.105
61.135.169.105
主機名:WQ-20161107KCPN
本地ip地址:192.168.0.102

注意:在上述代碼中包含互聯網的地址,所以運行時需要連網,否則會出現異常。

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户