代码:

package com.test;
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.LineNumberReader;  

public class MACTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MACTest get = new MACTest();  
        System.out.println("1="+get.getMAC());  
	}
	
	
	// 运行速度【快】  
    public String getMAC() {  
        String mac = null;  
        try {  
            Process pro = Runtime.getRuntime().exec("cmd.exe /c ipconfig /all");  
            //Process pro = Runtime.getRuntime().exec("ipconfig /all");  
            
            InputStream is = pro.getInputStream();  
           // InputStream is =  pro.getErrorStream();
            //不加编码中文会乱码
            BufferedReader br = new BufferedReader(new InputStreamReader(is,"GBK"));  
            String message = br.readLine();  
  
            int index = -1;  
            int i=0;
            while (message != null) {  
            	System.out.println(i+": "+message);
                if ((index = message.indexOf("物理地址")) > 0) {  
                	System.out.println(message.length());
                    mac = message.substring(message.length()-18).trim();  
                    break;  
                }  
                
               /* if ((index = message.indexOf("IPv4")) > 0) {  
                    mac = message.substring(index + 36,message.indexOf("(")).trim();  
                    break;  
                } */
                i++;
                message = br.readLine();  
            }  
            System.out.println(mac);  
            br.close();  
            pro.destroy();  
        } catch (IOException e) {  
            System.out.println("Can't get mac address!");  
            return null;  
        }  
        return mac;  
    }  
}

 

可直接使用Process pro = Runtime.getRuntime().exec("ipconfig /all");  

 

结果:
执行【本地命令】获取本机MAC
 

 

参考:http://blog.csdn.net/javaalpha/article/details/6142389

 

相关文章: