~~~
package com.sjf;
import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
import java.util.Enumeration;
/**
*
* @author sjf0115
*
*/
public class InetAddressExample {
public static void main(String[] args)
{
// Get the network interfaces and associated for this host
try
{
NetworkInterface networkInterface = null;
// 获得该主机每一个接口的信息
Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
if(interfaceList == null)
{
System.out.println("--No interfaces found--");
}//if
else
{
while(interfaceList.hasMoreElements())
{
networkInterface = interfaceList.nextElement();
// 接口名称
System.out.println("Interface->"+networkInterface.getName());
// 获取与接口相关联的地址 根据主机的不同配置 可能包含IPV4或IPV6地址
Enumeration<InetAddress> inetAddressList = networkInterface.getInetAddresses();
if(inetAddressList == null)
{
System.out.println("--No address for this NetworkInterface--");
}//if
else
{
InetAddress address = null;
while(inetAddressList.hasMoreElements())
{
address = inetAddressList.nextElement();
// 对每个地址进行检测判断属于哪个IP地址子类
System.out.print(address instanceof Inet4Address ? "(v4)" : (address instanceof Inet6Address ? "(v6)" : "(?)"));
// 打印IP地址
System.out.println(":"+address.getHostAddress());
}//while
}
}//while
}
}
catch (Exception e)
{
}
String host = "www.baidu.com";
try
{
// 一个名字可能关联了多个数字地址 该方法返回一组与给定主机名相关联的所有地址的实例
InetAddress[] addressesList = InetAddress.getAllByName(host);
for(InetAddress address : addressesList)
{
System.out.println(address.getHostName()+" "+address.getHostAddress());
}//for
// Determines the IP address of a host, given the host's name.
InetAddress address2 = InetAddress.getByName(host);
System.out.println(address2.getHostName()+" "+address2.getHostAddress());
// Returns the local host.
InetAddress address3 = InetAddress.getLocalHost();
System.out.println(address3.getHostName()+" "+address3.getHostAddress());
}
catch (UnknownHostException e)
{
e.printStackTrace();
}
}
}
~~~
![这里写图片描述](https://box.kancloud.cn/2016-03-18_56eba2a59cbdb.jpg "")
![这里写图片描述](https://box.kancloud.cn/2016-03-18_56eba2a5c6479.jpg "")
![这里写图片描述](https://box.kancloud.cn/2016-03-18_56eba2a5f1639.jpg "")
![这里写图片描述](https://box.kancloud.cn/2016-03-18_56eba2a623b36.jpg "")
![这里写图片描述](https://box.kancloud.cn/2016-03-18_56eba2a64e301.jpg "")
- 前言
- [Hibernate开发之路](1)Hibernate配置
- [Hibernate开发之路](2)Hibernate问题
- [Hibernate开发之路](3)基础配置
- [Hibernate开发之路](4)ID生成策略
- [Hibernate开发之路](5)联合主键
- [设计模式实践之路](1)单例模式
- [Java]UDP通信的简单例子
- [Java]套接字地址InetAddress讲解
- [Java开发之路](1)final关键字
- [Java开发之路](2)Java字符串
- [Java开发之路](3)Java常用类
- [Java开发之路](4)String、StringBuffer与StringBuilder详解
- [Java开发之路](5)异常详解
- [Java开发之路](6)File类的使用
- [Java开发之路](7)RandomAccessFile类详解
- [Java开发之路](8)输入流和输出流
- [Java开发之路](9)对象序列化与反序列化
- [Java开发之路](10)DOM解析XML文档
- [Java开发之路](11)SAX解析XML文档
- [Java开发之路](12)JDOM和DOM4J解析XML文档
- [Java开发之路](14)反射机制
- [Java开发之路](15)注解
- [Java开发之路](16)学习log4j日志
- [Java开发之路](18)关于Class.getResource和ClassLoader.getResource的路径问题
- [Java开发之路](19)Long缓存问题
- [Java开发之路](20)try-with-resource 异常声明
- [Java开发之路](21)Comparator与Comparable
- [Java]Java工程师成神之路
- [细说Java](1)图说字符串的不变性
- [细说Java](2)Java中字符串为什么是不可变的
- [细说Java](3)创建字符串是使用&quot; &quot;还是构造函数?