获取Internet上主机的地址,或者简单理解,InetAddress封装了数字式的IP地址和该地址的域名。
InetAddress类内部隐藏了地址数字。
InetAddress类没有明显的构造函数,为生成一个InetAddress对象,必须运用一个可用的工厂方法。
工厂方法近视一个类中静态方法返回一个该类实例的约定。
对于InetAddress,三个方法:getLocalHost()、getByName()、以及getAllByName()可以用来创建InetAddress的实例。
getLocalHos()仅返回象征本地主机的InetAddress对象。
本地地址还可以用localhost,127.0.0.1
getByName()方法返回一个传给它的主机名的InetAddress。如果这些方法不能解析主机名,它们将抛出一个UnknownHostException异常。
在Internet上,用一个名字来代替多个机器是常有的事情。getAllByName()工厂方法返回代表由一个特殊名称范姐的所有地址的InetAddress类数组。在不能把名称分解成至少一个地址时,它将抛出一个UnknownHostException异常。
使用InetAddress类的静态方法:getByName(String s),将一个域名或 IP 地址传递给该方法的参数,获得一个 InetAddress对象,该对象含有主机地址的域名和IP地 址,该对象用如下格式表示它包含的信息:www.nwpu.edu.cn/61.150.43.6
import java.net.InetAddress;
import java.net.UnknownHostException;
public class inetAddress {
public static void main(String args[]) throws UnknownHostException{
InetAddress address_1 = InetAddress.getByName("www.nwpu.edu.cn");
System.out.println(address_1);
System.out.println(address_1.getHostName());//获取InetAddress对象所含域名
System.out.println(address_1.getHostAddress());//获取InetAddress对象IP
InetAddress address_2 = InetAddress.getLocalHost();
System.out.println(address_2);
//获取本地域名和IP地址
}
}
www.nwpu.edu.cn/61.150.43.6
www.nwpu.edu.cn
61.150.43.6
HouYong-PC/192.168.137.1
import java.net.InetAddress;
import java.net.UnknownHostException;
public class inetAddress {
public static void main(String args[]) throws UnknownHostException{
String string = "localhost";
if(args.length==1)
string = args[0];
InetAddress address = InetAddress.getByName(string);
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
}
}
127.0.0.1
localhost