您的位置:首页 > 理论基础 > 计算机网络

[java] 6、获取本地机器网络地址信息

2016-03-01 15:43 399 查看
java获取本地机器网络地址信息

import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;

import com.alibaba.fastjson.JSON;

/**
* @Description: 获取本地机器地址信息
* @date 2016年2月25日  上午11:35:36
*/
public class IPTest {

public static void main(String[] args) {
System.out.println("开始");
getLocalAddresses();
//System.out.println(JSON.toJSON(getLocalAddresses()));
System.out.println("结束");
}

public static  List<InetAddress> getLocalAddresses(){

List<InetAddress> localAddressList = null ;

if(localAddressList == null){
localAddressList = new ArrayList<InetAddress>();
try {
//获取可用的网络接口
Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();

System.out.println("网络接口interfaces");
while (interfaces != null && interfaces.hasMoreElements()) {
//System.out.println("网络接口 != null");
NetworkInterface interfaceN = interfaces.nextElement();
//获取网络接口上的网络地址
Enumeration<InetAddress> ienum = interfaceN.getInetAddresses();

while (ienum.hasMoreElements()) {
InetAddress ia = ienum.nextElement();
//添加网络地址到本机网络地址列表
System.out.println("添加网络地址到本机网络地址列表="+ia+" Index:"+interfaceN.getIndex());
localAddressList.add(ia);
}
}
//重新再获取一个网络接口对象
System.out.println("网络接口interfaces="+JSON.toJSONString(NetworkInterface.getNetworkInterfaces()));
}
catch (Exception e) {
e.printStackTrace();
}
}
return localAddressList;
}

}


运行main方法



分析json字符串,获取自己需要的信息(计算机网络信息)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: