当想通过代码知道自己主机地址和主机名,或者查询网络上服务器地址时,我们都可以用InetAddress类。java.net.InetAddress类是用来表示IP地址的高层表示,大多数有关于Java网络相关的类都和它有关系,例如socket,URL等。
下面我们用代码介绍InetAddress类:
package com.net2;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Test1 {
public static void main(String[] args) {
try {
InetAddress addr = InetAddress.getLocalHost(); //获取本地主机
System.out.println("当前主机: " + addr);
System.out.println("当前主机地址: " + addr.getHostAddress());
System.out.println("当前主机名: " + addr.getHostName());
System.out.println();
InetAddress addr1 = InetAddress.getByName("www.baidu.com"); //得到的名字
System.out.println("百度服务器地址: " + addr1);
System.out.println();
InetAddress address = InetAddress.getByName("DESKTOP-PVJBFQL");
System.out.println("DESKTOP-PVJBFQL地址: " + address);
System.out.println();
InetAddress add2 = InetAddress.getLoopbackAddress();
System.out.println("回送地址: " + add2);
System.out.println();
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
控制台得到的结果如下:
查看自己电脑的主机名,验证是否正确:
所以可以通过InetAddress的get方法得到想查的IP地址。
注意:在使用InetAddress.getByName();方法时,如果getByName里面名字写错,将会报java.net.UnknownHostException:错误,错误如下图: