Categories: Java

Pegando o Mac Address antes e depois do Mustang (Java 6)

Pegando o Mac Address antes e depois do Mustang (Java 6)

Recentemente tive a necessidade de automatizar o preenchimento de um arquivo de configurações. Nesse arquivo, um dos valores que eram preenchidos era o Mac Address.
Logo me veio na cabeça a necessidade de executar o “ipconfig /all” (win) / “ifconfig” (linux) / “?” (mac)… capturar a saída, tratar o retorno, etc. Sem falar nas dificuldades de se fazer um parser independente do SO, do idioma do SO, ou seja, muitas variáveis que ao qualquer descuido fariam o parser falhar. =/
Bom, uma das novidades do Mustang é que a classe “java.net.NetworkInterface” traz um novo método para pegar o Mac Address de forma transparente. O método se chama “getHardwareAddress”. A seguir vou mostrar um exemplo de como pegar o Mac Address antes e depois do Java 6. Acredito que vá ficar claro a simplicidade e confiabilidade do novo método.

Antes do Java 6:

Depois do Java 6:

Percebe-se que da primeira forma, temos a dependência do idioma do SO no uso da expressão regular, e caso fossemos tratar isso o código aumentaria sensivelmente.
Já no segundo método eu não vi nenhum tipo de dependência de SO, nem exceções a serem tratadas, deixando o código muito mais confiável.

Article info