更新時(shí)間:2021-06-28 來(lái)源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
在JDK中提供了一個(gè)與IP地址相關(guān)的InetAddress類,該類用于封裝一個(gè)IP地址,并提供了一系列與IP地址相關(guān)的方法,接下來(lái)列舉InetAddress類中的一些常用方法,如表1所示。
表1 InetAddress類的常用方法
| 方法聲明 | 功能描述 | |
|---|---|---|
| InetAddress getByName(String host) | 獲取給定主機(jī)名的的IP地址,host參數(shù)表示指定主機(jī) | |
| InetAddress getLocalHost() | 獲取本地主機(jī)地址 | |
| String getHostName() | 獲取本地IP地址的主機(jī)名 | |
| boolean isReachable(int timeout) | 判斷在限定時(shí)間內(nèi)指定的IP地址是否可以訪問(wèn) | |
| String getHostAddress() | 獲取字符串格式的原始IP地址 |
表1中,列舉了InetAddress的五個(gè)常用方法。其中,前兩個(gè)方法用于獲得該類的實(shí)例對(duì)象,第一個(gè)方法用于獲得表示指定主機(jī)的InetAddress對(duì)象,第二個(gè)方法用于獲得表示本地的InetAddress對(duì)象。通過(guò)InetAddress對(duì)象便可獲取指定主機(jī)名、IP地址等,接下來(lái)通過(guò)一個(gè)案例來(lái)演示InetAddress類常用方法的基本使用,如文件1所示。
文件1 Example01.java
import java.net.InetAddress;
public class Example01 {
public static void main(String[] args) throws Exception {
// 獲取本地主機(jī)InetAddress對(duì)象
InetAddress localAddress = InetAddress.getLocalHost();
// 獲取主機(jī)名為“www.itcast.cn”的InetAddress對(duì)象
InetAddress remoteAddress =
InetAddress.getByName("www.itcast.cn");
System.out.println("本機(jī)的IP地址:"
+ localAddress.getHostAddress());
System.out.println("itcast的IP地址:"
+ remoteAddress.getHostAddress());
System.out.println("3秒內(nèi)是否可以訪問(wèn):"
+ remoteAddress.isReachable(3000));
System.out.println("itcast的主機(jī)名為:"
+ remoteAddress.getHostName());
}
}運(yùn)行結(jié)果如圖1所示。

圖1 運(yùn)行結(jié)果
從圖1可以看出,InetAddress類中常用方法的具體使用效果。需要注意的是,getHostName()方法用于得到某個(gè)主機(jī)的域名,如果InetAddress對(duì)象是通過(guò)主機(jī)名創(chuàng)建的,則將返回該主機(jī)名,否則,將根據(jù)IP地址反向查找對(duì)應(yīng)的主機(jī)名,如果找到將其返回,否則將返回IP地址。