执行【本地命令】获取本机MAC
来源:互联网 发布:云计算三年行动计划 编辑:程序博客网 时间:2024/06/04 19:16
代码:
package com.test;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.LineNumberReader; public class MACTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubMACTest get = new MACTest(); System.out.println("1="+get.getMAC()); }// 运行速度【快】 public String getMAC() { String mac = null; try { Process pro = Runtime.getRuntime().exec("cmd.exe /c ipconfig /all"); //Process pro = Runtime.getRuntime().exec("ipconfig /all"); InputStream is = pro.getInputStream(); // InputStream is = pro.getErrorStream(); //不加编码中文会乱码 BufferedReader br = new BufferedReader(new InputStreamReader(is,"GBK")); String message = br.readLine(); int index = -1; int i=0; while (message != null) { System.out.println(i+": "+message); if ((index = message.indexOf("物理地址")) > 0) { System.out.println(message.length()); mac = message.substring(message.length()-18).trim(); break; } /* if ((index = message.indexOf("IPv4")) > 0) { mac = message.substring(index + 36,message.indexOf("(")).trim(); break; } */ i++; message = br.readLine(); } System.out.println(mac); br.close(); pro.destroy(); } catch (IOException e) { System.out.println("Can't get mac address!"); return null; } return mac; } }
可直接使用Process pro = Runtime.getRuntime().exec("ipconfig /all");
结果:
参考:http://blog.csdn.net/javaalpha/article/details/6142389