Ola pessoal, to quebrando cabeça aqui para descobrir como que pego o endereço mac de uma maquina no java. Estou utilizando java desktop. São 3 da manha aqui em brasilia e eu to quebrando cabeça com isso, ja pesquisei em varios sites, na maioria eles dao este codigo aqui:
package com.mkyong;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class app{
public static void main(String[] args){
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
System.out.print("Current MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
System.out.println(sb.toString());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e){
e.printStackTrace();
}
}
}
Porem sempre da este mesmo erro em todas as classes:
Exception in thread "main" java.lang.NullPointerException
at teste.tata.main(tata.java:20)
O erro é nessa linha:
byte[] mac = network.getHardwareAddress();
Não sei mais o que faço, espero que me ajudem, bom, vou dormir um pouquinho ali pq ja to que nem um zumbi aqui, vlw