网上很多用java获取本机IP和本机MAC地址的代码,但是根据不同的操作系统,并不是都有用.
本程序可以正确获得本机IP地址和网卡"eth0"的MAC地址,已经在windowsXP和ubuntu-Linux上测试过
(注意:如果有多块网卡,可能出错)
下面给出代码:
import java.net.*;
import java.util.*;
public class Test {
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.getLocalIP());
System.out.println(t.getMacAddr());
}
public String getMacAddr() {
String MacAddr = "";
String str = "";
try {
NetworkInterface NIC = NetworkInterface.getByName("eth0");
byte[] buf = NIC.getHardwareAddress();
for (int i = 0; i < buf.length; i++) {
str = str + byteHEX(buf[i]);
}
MacAddr = str.toUpperCase();
} catch (SocketException e) {
e.printStackTrace();
System.exit(-1);
}