MAC地址工具
来源:互联网 发布:2014年进出口数据 编辑:程序博客网 时间:2024/06/01 19:22
代码地址:https://code.csdn.net/snippets/2444253
/** * MAC地址工具 * * @author zhou * @version 2013-12-21 */public class MacUtils { /** * 获取当前操作系统名称. return 操作系统名称 例如:windows,Linux,Unix等. */ public static String getOSName() { return System.getProperty("os.name").toLowerCase(); } /** * 获取Unix网卡的mac地址. * * @return mac地址 */ public static String getUnixMACAddress() { String mac = null; BufferedReader bufferedReader = null; Process process = null; try { /** * Unix下的命令,一般取eth0作为本地主网卡 显示信息中包含有mac地址信息 */ process = Runtime.getRuntime().exec("ifconfig eth0"); bufferedReader = new BufferedReader(new InputStreamReader( process.getInputStream())); String line = null; int index = -1; while ((line = bufferedReader.readLine()) != null) { /** * 寻找标示字符串[hwaddr] */ index = line.toLowerCase().indexOf("hwaddr"); /** * 找到了 */ if (index != -1) { /** * 取出mac地址并去除2边空格 */ mac = line.substring(index + "hwaddr".length() + 1).trim(); break; } } } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException e1) { e1.printStackTrace(); } bufferedReader = null; process = null; } return mac; } /** * 获取Linux网卡的mac地址. * * @return mac地址 */ public static String getLinuxMACAddress() { String mac = null; BufferedReader bufferedReader = null; Process process = null; try { /** * linux下的命令,一般取eth0作为本地主网卡 显示信息中包含有mac地址信息 */ process = Runtime.getRuntime().exec("ifconfig eth0"); bufferedReader = new BufferedReader(new InputStreamReader( process.getInputStream())); String line = null; int index = -1; while ((line = bufferedReader.readLine()) != null) { index = line.toLowerCase().indexOf("硬件地址"); /** * 找到了 */ if (index != -1) { /** * 取出mac地址并去除2边空格 */ mac = line.substring(index + 4).trim(); break; } } } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException e1) { e1.printStackTrace(); } bufferedReader = null; process = null; } // 取不到,试下Unix取发 if (mac == null){ return getUnixMACAddress(); } return mac; } /** * 获取widnows网卡的mac地址. * * @return mac地址 */ public static String getWindowsMACAddress() { String mac = null; BufferedReader bufferedReader = null; Process process = null; try { /** * windows下的命令,显示信息中包含有mac地址信息 */ process = Runtime.getRuntime().exec("ipconfig /all"); bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = null; int index = -1; while ((line = bufferedReader.readLine()) != null) { /** * 寻找标示字符串[physical address] */// index = line.toLowerCase().indexOf("physical address");// if (index != -1) { if (line.split("-").length == 6){ index = line.indexOf(":"); if (index != -1) { /** * 取出mac地址并去除2边空格 */ mac = line.substring(index + 1).trim(); } break; } index = line.toLowerCase().indexOf("物理地址"); if (index != -1) { index = line.indexOf(":"); if (index != -1) { /** * 取出mac地址并去除2边空格 */ mac = line.substring(index + 1).trim(); } break; } } } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException e1) { e1.printStackTrace(); } bufferedReader = null; process = null; } return mac; } public static String getMac(){ String os = getOSName(); String mac; if (os.startsWith("windows")) { mac = getWindowsMACAddress(); } else if (os.startsWith("linux")) { mac = getLinuxMACAddress(); } else { mac = getUnixMACAddress(); } return mac == null ? "" : mac; } /** * 测试用的main方法. * * @param argc 运行参数. */ public static void main(String[] argc) { String os = getOSName(); System.out.println("os: " + os); if (os.startsWith("windows")) { String mac = getWindowsMACAddress(); System.out.println("mac: " + mac); } else if (os.startsWith("linux")) { String mac = getLinuxMACAddress(); System.out.println("mac: " + mac); } else { String mac = getUnixMACAddress(); System.out.println("mac: " + mac); } }}
阅读全文
0 0
- MAC地址工具
- MAC地址工具类
- Mac地址获取工具类
- java获取mac地址工具类
- Java MacUtil 获取mac地址 工具类
- 虚拟多Mac地址工具Multimac
- 获取客户端IP和MAC地址工具类
- 获取Android手机的Mac地址的工具类
- MAC地址
- MAC地址
- MAC地址
- MAC地址
- MAC地址
- MAC地址
- Mac地址
- MAC地址
- mac地址
- MAC地址
- 20170305听课笔记(漫谈进程和线程)
- Intellij IDEA 十大快捷键
- Mac配置java_home找不到java路径的解决办法
- memcached主备方式部署
- 分表分页时查询用到的limit
- MAC地址工具
- opencv +MFC实现视频播放、暂停、视频标注、跟踪
- java反射
- Java日期处理
- formality 命令/变量的使用及各种设置
- zTree学习笔记二:展开树和收起树
- 小printf的故事:真正的程序员?
- MarkDown生成目录索引
- 文件与流