/**
* @description Classe que pega os dados do computador;
*/
package negocio;
import java.net.InetAddress;
import java.net.NetworkInterface;
/**
* @data 30/11/2012
* @author Charleston Anjos
* @version 12.101
* @alteração 30/11/2012
*/
public class clsDadosPc {
public clsDadosPc(){
System.out.println(this.IP());
System.out.println(this.HOST());
System.out.println(this.MAC());
}
public static void main(String[] args) {
clsDadosPc pc = new clsDadosPc();
}
public String IP(){
//Cria uma variável do tipo Inet
InetAddress ip = null;
try{
ip = InetAddress.getLocalHost(); //seta o endereço para o computador local
}catch(Exception e){
e.printStackTrace();//exceção
}
return String.valueOf(ip.getHostAddress());//retorna o endereço de ip
}
public String HOST(){
//Cria uma variável do tipo Inet
InetAddress ip = null;
try{
ip = InetAddress.getLocalHost();//seta o endereço para o computador local
}catch(Exception e){
e.printStackTrace();//exceção
}
return String.valueOf(ip.getHostName());//retorna o nome do computador
}
public String MAC(){
String mac_retorno = null;//cria uma váriavel string para retornar o endereço mac
try{
//cria um objeto do tipo network para pegar o ende
NetworkInterface network = NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
//guarda em um array o endereço do hardware (placa mãe)
byte[] mac = network.getHardwareAddress();
//string imutável
StringBuilder sb = new StringBuilder();
//faz um looping pegando os números do endereço mac e formata (mascara)
for (int i = 0; i < mac.length; i++) {
//adiciona na string sb os dados (concatenação)
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
//variavel mac_retorno recebe a string imutavel
mac_retorno = String.valueOf(sb);
}catch(Exception e){
e.printStackTrace();//exceção
}
//retorna o endereço obtivo
return mac_retorno;
}
}