当前位置:IT168首页 > 技术开发 >
[收藏此页] [打印] [推荐] [评论]

利用正则表达式获取网卡的MAC地址

责任编辑:cynthia作者:ITPUB论坛   2008-07-04   
文本Tag: Java

  【IT168 技术文档】现在网上有许多用java实现的获取MAC地址的方法,都是利用了windows系统的config命令,但是这些方法都是直接查找config命令的输出字符串。这种方法对一种语言的windows系统还可以,当在其它语言的系统下运行时,就会出现问题,本文的代码利用正则表达式,使获取MAC地址的程序能够在多语言环境下运行。

  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());   }   }

  运行结果:

  C:\java>java ReadMacByJava

  MAC 1 address :00-40-CA-C9-9F-71

上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
  • 第1页:
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/jd/2008-07-03/200807031830439.shtml
技术开发相关文章  
  • 暂无
友情推介