Enumeration nis = NetworkInterface.getNetworkInterfaces();
while (nis.hasMoreElements()) {
NetworkInterface ni = nis.nextElement();
byte[] bs = ni.getHardwareAddress();
if (ni != null && ni.isUp() && bs != null && bs.length == 6){
StringBuffer sb = new StringBuffer();
for (byte b : bs) {
//与11110000作按位与运算以便读取当前字节高4位
sb.append(Integer.toHexString((b & 240) >> 4));
//与00001111作按位与运算以便读取当前字节低4位
sb.append(Integer.toHexString(b & 15));
sb.append("-");
}
sb.deleteCharAt(sb.length() - 1);
System.out.println(sb.toString().toUpperCase());
}
}
求上面这段代码的JNI版本。JNI+C(不能用C++)实现调用Java的工具类得到MAC地址。。。由于某些原因、不能直接用C获得MAC地址、需要JNI实现调用Java工具类。求帮助~