iLeichun

当前位置: 首页 > Java

Java实现读取本机网卡Mac地址的方法

分类:Java   来源:网络   时间:2010-09-14 23:46:55

  本方法主要用来限制系统在其他的机器上运行.其实原理简单的很.没有调用第三方插件.代码如下:


  package com.users.util;
  import java.io.*;
  import java.util.*;
  import java.util.regex.*;
  public class NetID {
  String IPCONFIG_COMMAND_WIN = "ipconfig /all";
  boolean realMac = true;
  String unique = "";
  public static String getMacAddress() {
  NetID hwid = new NetID();
  return hwid.getUnique().trim();
  }
  private String getUnique() {
  String os = System.getProperty("os.name");
  if (os.startsWith("Windows")) {
  return getUniqueWindows();
  }else {
  return "";
  }
  }
  private String getUniqueWindows() {
  String ipConfigResponse = null;
  try {
  ipConfigResponse = runConsoleCommand(IPCONFIG_COMMAND_WIN);
  }
  catch (IOException e) {
  e.printStackTrace();
  }
  StringTokenizer tokenizer = new StringTokenizer(ipConfigResponse, "/n");
  while (tokenizer.hasMoreTokens()) {
  String line = tokenizer.nextToken().trim();
  int macAddressPosition = line.indexOf(":");
  if (macAddressPosition <= 0) {
  continue;
  }
  String macAddressCandidate = line.substring(macAddressPosition + 1).
  trim();
  if (isMacAddWin(macAddressCandidate)) {
  if (realMac == true) {
  generateUnique(macAddressCandidate);
  }
  else {
  realMac = true;
  }
  }
  }

更多