更新時(shí)間:2021-06-28 來源:黑馬程序員 瀏覽量:
在JDK中提供了一個(gè)與IP地址相關(guān)的InetAddress類,該類用于封裝一個(gè)IP地址,并提供了一系列與IP地址相關(guān)的方法,接下來列舉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地址是否可以訪問 | |
String getHostAddress() | 獲取字符串格式的原始IP地址 |
表1中,列舉了InetAddress的五個(gè)常用方法。其中,前兩個(gè)方法用于獲得該類的實(shí)例對象,第一個(gè)方法用于獲得表示指定主機(jī)的InetAddress對象,第二個(gè)方法用于獲得表示本地的InetAddress對象。通過InetAddress對象便可獲取指定主機(jī)名、IP地址等,接下來通過一個(gè)案例來演示InetAddress類常用方法的基本使用,如文件1所示。
文件1 Example01.java
import java.net.InetAddress; public class Example01 { public static void main(String[] args) throws Exception { // 獲取本地主機(jī)InetAddress對象 InetAddress localAddress = InetAddress.getLocalHost(); // 獲取主機(jī)名為“www.itcast.cn”的InetAddress對象 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)是否可以訪問:" + remoteAddress.isReachable(3000)); System.out.println("itcast的主機(jī)名為:" + remoteAddress.getHostName()); } }
運(yùn)行結(jié)果如圖1所示。
圖1 運(yùn)行結(jié)果
從圖1可以看出,InetAddress類中常用方法的具體使用效果。需要注意的是,getHostName()方法用于得到某個(gè)主機(jī)的域名,如果InetAddress對象是通過主機(jī)名創(chuàng)建的,則將返回該主機(jī)名,否則,將根據(jù)IP地址反向查找對應(yīng)的主機(jī)名,如果找到將其返回,否則將返回IP地址。