java获得本机的mac

来源:互联网 发布:lol for mac 国服 编辑:程序博客网 时间:2024/06/07 06:14

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Test1 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

     System.out.println("取得网卡的 Mac 地址" + getMACAddress());
 }
  
 public static String getWindowsMACAddress() {
     String address = "";
     try {
      ProcessBuilder pb = new ProcessBuilder("ipconfig", "/all");
      Process p = pb.start();
      BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
      String line;
      while ((line = br.readLine()) != null) {
         if (line.indexOf("Physical Address") != -1) {
          int index = line.indexOf(":");
          address = line.substring(index + 1);
          break;
         }
      }
      br.close();
      return address.trim();
     } catch (IOException e) {
     }
     return address;
 }
 public static String getLinuxMACAddress() {
     String address = "";
     try {
      ProcessBuilder pb = new ProcessBuilder("ipconfig", "-a");
      Process p = pb.start();
      BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
      String line;
      while ((line = br.readLine()) != null) {
         System.out.println(line);
         if (line.indexOf("Link encap:Ethernet    HWaddr") != -1) {
          int index = line.indexOf("HWaddr");
          address = line.substring(index + 7);
          break;
         }
      }
      br.close();
      return address.trim();
     } catch (IOException e) {
     }
     return address;
 }
 public static String getMACAddress() {
     String address = "";
     String os = System.getProperty("os.name");
     // System.out.println(os);
     if (os != null && os.startsWith("Windows")) {
      address = getWindowsMACAddress();
      address = address.replaceAll("-", ":");
     } else {
      address = getLinuxMACAddress();
     }
     return address;
 }
 
}


 

原创粉丝点击