写在前面:此篇文章主要粗略的讲解了与IP相关的一个类InetAddress
先上代码:
import java.net.*;
class IPDemo{
public static void main(String[] args) throws Exception{
InetAddress i = InetAddress.getByName("www.baidu.com");
System.out.println("address:"+i.getHostAddress());
System.out.println("name:"+i.getHostName()); //如果机器没有把他的名字和ip地址绑定注册,那么name显示的也是ip地址的值
}
}
首先我们来看一下我们的运行效果:
下面来进行代码的讲解:
首先我们运用了InetAddress来对跟ip相关的数据来进行处理,我们先调用他的一个静态方法:
getByName(String host): 这个函数的功能是给定主机的名称来确定主机的IP地址。
当我们使用了这个静态的方法之后就可以获得一个IP的对象,我们就可以使用 getHostAddress()来获得文本表示形式的IP地址字符串,可以使用getHostName()来获得IP地址的主机名称,注意,如果机器没有把他的名字和ip地址绑定注册,那么name显示的同样也是ip地址的值
同时,我们经常使用到的函数还有如下,列出来供大家翻阅使用:
修饰符和类型 | 方法 | 说明 |
---|---|---|
byte[] | getAddress() | 返回此对象的原始 IP 地址。InetAddress |
static InetAddress[] | getAllByName(String host) | 给定主机的名称,根据系统上配置的名称服务返回其 IP 地址的数组。 |
static InetAddress | getByAddress(byte[] addr) | 返回给定原始 IP 地址 的对象。InetAddress |
static InetAddress | getByName(String host) | 确定主机的 IP 地址,给定主机的名称 |
String | getHostAddress() | 返回文本表示形式的 IP 地址字符串 |
String | getHostName() | 获取此 IP 地址的主机名。 |
static InetAddress | getLocalHost() | 返回本地主机的地址 |
String | toString() | 将此 IP 地址转换为 .String |