今天偶然看到怎么获取本机MAC地址,看到一种方法是通过ProcessBuilder类,执行命令行,然后从输出流当中获取
第一次见到这种通过java程序调用命令行的,觉得应该还是很有用的,以后会用到
小改了一下程序,只是在linux下的,windows的应该差不多
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Get_MAC
{
public static void main(String[] args)
{
String mac = "";
try
{
Process p = new ProcessBuilder("ifconfig").start();
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null)
{
Pattern pat = Pattern.compile("\\b\\w+:\\w+:\\w+:\\w+:\\w+:\\w+\\b");
Matcher mat= pat.matcher(line);
if(mat.find())
{
mac=mat.group(0);
}
}
br.close();
}
catch (IOException e) {}
System.out.println("本机MAC地址为:\n"+mac);
}
}