您的位置:首页 > 编程语言 > Java开发

java获得MAC地址

2009-08-05 08:37 267 查看
import java.io.*;

import java.util.regex.*;

public class ReadMacByJava

{

private String mPhysicalAddress = "";

private int mPhysicalMacNumber = 0;

private boolean isInit = false;

public ReadMacByJava()

{

}

public void init()

{

try

{

String line;

Process process = Runtime.getRuntime().exec("cmd /c ipconfig /all");

BufferedReader bufferedReader = new BufferedReader(

new InputStreamReader(process.getInputStream()));

Pattern macPattern =

Pattern.compile("([0-9A-Fa-f]{2})(-[0-9A-Fa-f]{2}){5}");

Matcher macMatcher;

boolean result;

while ((line = bufferedReader.readLine()) != null)

{

if ("".equals(line))

continue;

macMatcher = macPattern.matcher(line);

result = macMatcher.find();

if (result)

{

mPhysicalMacNumber++;

if ("".equals(mPhysicalAddress))

mPhysicalAddress = macMatcher.group(0);

else

mPhysicalAddress += ("," + macMatcher.group(0));

}

}

}

catch (Exception e)

{

e.printStackTrace();

}

isInit = true;

}

public String getPhysicalAddress()

{

if (isInit)

return this.mPhysicalAddress;

else

return "Mac is not init.";

}

public int getPhysicalMacNumber()

{

if (isInit)

return this.mPhysicalMacNumber;

else

{

System.out.println("Mac is not init.");

return 0;

}

}

public static void main(String[] args)

{

ReadMacByJava mac = new ReadMacByJava();

mac.init();

System.out.println("MAC "+mac.getPhysicalMacNumber()+" address :"

+ mac.getPhysicalAddress());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: