通过dos命令获得服务器网卡地址-适合Windows和Linux
Java代码
/**
* 获得服务器网卡地址
* www.zhishiwu.com
* @return 服务器网卡地址
*/
private String getServerMACAddress() {
String address = "";
String os = AppContext.SERVER_OS_NAME;
// 如果是Windows系统
if (os.startsWith("Windows")) {
try {
String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec(command);
BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = buf.readLine()) != null) {
if (line.indexOf("Physical Address") >= 0) {
int index = line.indexOf(":");
index += 2;
address = line.substring(index);
break;
} www.zhishiwu.com
}
buf.close();
return address.trim();
} catch (IOException e) {
e.printStackTrace();
}
}
// 如果是Linux操作系统
else if (os.startsWith("Linux")) {
try {
String command = "/bin/sh -c ifconfig -a";
Process p = Runtime.getRuntime().exec(command);
BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = buf.readLine()) != null) {
if (line.indexOf("HWaddr") > 0) {
int index = line.indexOf("HWaddr") + "HWaddr".length();
address = line.substring(index);
break;
}
} www.zhishiwu.com
buf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 未知操作系统
else {
}
address = address.trim();
return address;
}