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