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;
            }
        }
    }

  • 相关阅读:
    Python中常见字符串去除空格的方法总结
    Python多版本pip安装库的问题
    报错No module named IPython的解决方法
    Win10家庭版如何启用本地组策略
    Oracle 11gR2新建空表不分配Segment
    Hadoop Balance
    Hive报错之java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonFactory
    Hive文件格式
    Hive报错之java.sql.SQLException: Field 'IS_STOREDASSUBDIRECTORIES' doesn't have a default value
    Oracle之Union与Union all的区别
  • 原文地址:https://www.cnblogs.com/yang75n/p/8412988.html
Copyright © 2011-2022 走看看