需要用到,写了一个小例子。
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class Demo {
public static void main(String[] args) throws UnknownHostException, SocketException {
InetAddress ip = InetAddress.getByName("192.168.1.102");//我本机的ip
NetworkInterface ni = NetworkInterface.getByInetAddress(ip);
StringBuilder builder = new StringBuilder();
byte[] networkadd = ni.getHardwareAddress();
for (int i = 0; i < networkadd.length; i++) { //将地址转为16进制拼接成一个串
String a = Integer.toHexString(ni.getHardwareAddress()[i] & 0xff);
builder.append(a);
builder.append("-");
}
builder.deleteCharAt(builder.length() - 1); //删去字符串最后的 “-”
if(builder.length() == 0){
System.out.println("找不到网卡地址");
}else{
System.out.println("网卡地址为" + builder.toString());
}
}
}