zoukankan      html  css  js  c++  java
  • 网络相关辅助类NetUtils

    package yqw.java.util;

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

    /**
     * 网络相关辅助类
     *
     */
    public class NetUtils {
        /**
         * 枚举所有网卡
         */
        public static List<NetworkInterface> EnumNetworkInterfaces() {
            try {
                List<NetworkInterface> netList = new ArrayList<NetworkInterface>();
                for (Enumeration<NetworkInterface> netEnum = NetworkInterface.getNetworkInterfaces(); netEnum
                        .hasMoreElements();) {
                    netList.add(netEnum.nextElement());
                }

                return netList;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        /**
         * 获取本地网卡
         *
         * @return
         */
        public static NetworkInterface getLoopBackNetWorkInterface() {
            try {
                if (NetworkInterface.getNetworkInterfaces() == null) {
                    return null;
                }
                for (Enumeration<NetworkInterface> netEnum = NetworkInterface.getNetworkInterfaces(); netEnum
                        .hasMoreElements();) {
                    NetworkInterface net = netEnum.nextElement();
                    if (net.isLoopback()) {
                        return net;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
            return null;
        }

        /**
         * 枚举所有物理网卡
         *
         */
        public static List<NetworkInterface> EnumPhysicalInterfaces() {
            try {
                List<NetworkInterface> netList = new ArrayList<NetworkInterface>();
                if (NetworkInterface.getNetworkInterfaces() == null) {
                    return null;
                }
                for (Enumeration<NetworkInterface> netEnum = NetworkInterface.getNetworkInterfaces(); netEnum
                        .hasMoreElements();) {
                    NetworkInterface net = netEnum.nextElement();
                    if (net.isPointToPoint() || net.isVirtual() || net.isLoopback() || !net.isUp()) {
                        continue;
                    }

                    netList.add(net);
                }

                return netList;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        /**
         * 获取第一个物理网卡
         */
        public static NetworkInterface FirstPhysicalInterface() {
            List<NetworkInterface> netList = EnumPhysicalInterfaces();
            if (!CollectionUtils.IsAbsEmpty(netList)) {
                return netList.get(0);
            } else {
                return null;
            }
        }
    }

  • 相关阅读:
    scrapy 项目搭建
    linux mysql -- ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)
    linux 安装python 和pip
    转 Pycharm及python安装详细教程
    mysql在linux下的安装
    easyui datagrid动态修改editor时动态绑定combobox的数据
    easyui combobox 在datagrid中动态加载数据
    linux 安装tomcat
    CUBRID学习笔记23 关键字列表
    CUBRID学习笔记 22 插入数据
  • 原文地址:https://www.cnblogs.com/yang75n/p/8412988.html
Copyright © 2011-2022 走看看