展开全部
读取ipconfig/all里面的内容:
public static String checkPhysicalAddress() {
String physicalAddress ="";
try {
String line;
Process process = Runtime.getRuntime().exec("cmd /c ipconfig /all");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
int temp=1;
int switchon=0;
while ((line = bufferedReader.readLine()) != null) {
if(switchon ==1){
temp++;
}
if(line.indexOf("以太网适配器 本地连接62616964757a686964616fe58685e5aeb931333337626261:") !=-1){
switchon=1;
continue;
}
if (temp == 5) {
line = bufferedReader.readLine();
System.out.println("1:"+line);
if (line.indexOf(":") != -1) {
physicalAddress = line.substring(line.indexOf(":") + 2).replaceAll("-", "").trim();
break; //找到MAC,推出循环
}
}
}
//process.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
return physicalAddress;
}
一行一行的读取命令行的东西,直到我们想要的一行
如下图我们需要的是“以太网适配器 本地链接:”这里面的物理地址,上面的代码就是找到这一行,然后再下去五行就是我们要的MAC地址