代码:
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 stub
MACTest 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");
结果: