本文来自:曹胜欢博客专栏。
转载请注明出处:http://blog.csdn.NET/csh624366188
详见:http://blog.csdn.net/csh624366188/article/details/7331716
1. 一个基础的网络类——InetAddress类
该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。
关于该类的使用,下面通过一个基础的代码示例演示该类的使用,代码如下:
public class InetAddressDemo {
public static void main(String[] args) {
try {
// 使用域名创建对象
InetAddress inet1 = InetAddress.getByName("www.163.com");
System.out.println(inet1);
// 使用IP创建对象
InetAddress inet2 = InetAddress.getByName("127.0.0.1");
System.out.println(inet2);
// 获得本机地址对象
InetAddress inet3 = InetAddress.getLocalHost();
System.out.println(inet3);
// 获得对象中存储的域名
String host = inet3.getHostName();
System.out.println("域名:" + host);
// 获得对象中存储的IP
String ip = inet3.getHostAddress();
System.out.println("IP:" + ip);
} catch (Exception e) {
}
}
}
注:InetAddress 类没有明显的构造函数。为生成一个InetAddress对象,必须运用一个可用的工厂方法。
- 工厂方法(factory method)仅是一个类中静态方法返回一个该类实例的约定。
对于InetAddress,三个方法 getLocalHost( )、getByName( )以及getAllByName( )可以用来创建InetAddress的实例 - 如果这些方法不能解析主机名,它们引发一个UnknownHostException异常。