java设置本机地址写在哪个类_JAVA获取指定的类型的本机MAC地址
前面我们运维小伙在部署的时候,发现在真实服务器获取不到mac地址或者获取不到指定类型的mac地址,写程序记录如下
import com.google.common.base.Strings;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class MacHelper {
private static MacHelper instance;
public static MacHelper getInstance() {
if (instance == null) {
synchronized (MacHelper.class) {
instance = new MacHelper();
}
}
return instance;
}
/**
* 获取本地IP
*
* @return String
*/
public String getFirstLocalMac() {
String startName = "eth", symbol = "";
return getFirstLocalMac(startName, symbol);
}
/**
* 获取本地IP
*
* @return String
*/
public String getFirstLocalMac(String startName, String symbol) {
try {
Enumeration enumeration = NetworkInterface.getNetworkInterfaces();
while (enumeration.hasMoreElements()) {
NetworkInterface networkInterface = enumeration.nextElement();
if (networkInterface == null) {
continue;
}
if (!(networkInterface.getName().equals(startName) ||
networkInterface.getName().startsWith(startName))) {
continue;
}
//获取网卡,获取地址
byte[] mac = networkInterface.getHardwareAddress();
if (mac == null || mac.length <= 0) {
continue;
}
StringBuilder sb = new StringBuilder();
int i = 0;
for (byte b : mac) {
//字节转换为整数
int temp = b & 0xff;
String str = Integer.toHexString(temp);
if (!Strings.isNullOrEmpty(symbol) && i == 0) {
sb.append(symbol);
}
if (str.length() == 1) {
sb.append("0").append(str);
} else {
sb.append(str);
}
i++;
}
return sb.toString().toLowerCase();
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}
java设置本机地址写在哪个类_JAVA获取指定的类型的本机MAC地址相关推荐
- mac地址容量的作用_在交换机或路由器中怎么来表明mac地址容量的
.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中. 2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发. 3.如数 ...
- JAVA获取局域网内对应IP电脑的MAC地址(物理地址)
创建类UdpGetClientMacAddr.java package com.shuzhiqiang.common;import java.io.IOException; import java.n ...
- 本页设置mac地址过滤来控制计算机对本无线网络的访问,Netcore磊科路由器无线MAC地址过滤设置方法...
Netcore磊科路由器无线MAC地址过滤的设置方法,无线MAC地址过滤的主要作用,是用来控制无线终端(笔记本.智能手机.平板电脑)对路由器无线网络的访问,通过合理的配置,还可以防止蹭网,保护无线网络 ...
- 获取安卓设备的有线网卡的MAC地址(安卓TV、安卓系统的广告机等)
一.有些安卓设备不仅有无线wifi的mac地址,还有有线网卡的mac地址,下面是几中获取方法. 1.直接上代码,以下几种方法只能获取有线网卡MAC //得到有线网卡的MAC地址 public stat ...
- java的异常有哪些类_Java中的异常类型有哪些
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...
- adb 查看gpu_获取android 设备的cpu gpu信息 mac地址
1.获取cpu信息:cpu信息存在于/proc/cpuinfo文件下,adb shell 进去后用 cat /proc/cpuinfo 可以查看 private String getCpuInfo() ...
- java按季还款_Java 获取指定日期范围内的每个月,每季度,每一年
/** *根据时间范围获得月份集 * @return */ public static List getRangeSet(String beginDate,String endDate){ /* ...
- java程序运行必须得三个io类_Java基础知识(三)
一.hashCode 与 equals (重要) 面试官可能会问你:"你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?" 1 ...
- java取上一个月_Java获取指定日期前一月(年)或后一月(年)
/** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @re ...
- Android获取路由网关(上联设备)MAC地址
我这边直接贴代码吧,里面有一些注释: 具体的我就不解释了,但是这种方式我本地测试过,是准确的,包括有线和无线的连接方式,具体里面的一些之类和文件的含义,可以自己百度下. /*** 获取路由器MAC地址 ...
最新文章
- 智能制造-逆向工程-三维测量-标定
- 一篇文章帮你彻底搞清楚“I/O多路复用”和“异步I/O”的前世今生
- 这些高校竟因名字太“坑爹”被误会为三本?盘点九所实力强劲但被名字耽误的大学...
- c 编程语言概述,C编程语言概述
- m1MacBook的TensorFlow虚拟环境---pytables的安装
- 使用WPF动态资源在Gtk3 C#中进行本地化
- 从网络到分布式-负载均衡
- mac mysql打不开闪一下_mac系统上 MySQL Workbench意外退出,再也打不开
- UITableView自动计算图片的高度 SDWebImage
- PAT Basic 1011
- 微信APP支付-Android+springboot搭建后端(一)
- 推导多元最小二乘法的计算方法
- Ubuntu桌面远程工具
- Odoo 8.0深入浅出开发教程
- 【LeetCode】Algorithms 题集(二)
- IMAP协议定时监听接收邮件(QQ邮箱、网易邮箱都可)
- 八拜之交是指哪八拜?
- SQL 时间字段为空转换为空字符串
- 杰理之对箱TWS通话有回音,噗噗声,卡顿问题【篇】
- 《MFC编程》:MFC库中类的简介
热门文章
- 动静态nat综合实验
- git删除远程提交记录
- [JNI] 开发基础(1) c语言基本类型
- Luogu4113 [HEOI2012]采花
- LOJ2316「NOIP2017」逛公园
- BZOJ3309 DZY Loves Math
- 网络基础知识(黑马教程笔记)-6-静态资源访问的功能实现
- java压测请求线程数_jmeter压力测试 设置一秒发送一次请求,一秒两次请求
- java jsonobject_Java调用groovy及如何使用springBean
- 英文c语言试题,C语言今日练习试题(主要练习英文阅读能力)