Eu quero tirar os pontinhos do ip e converter este resultado para uma variavel Long oq eu faço???
Me ajudem por favor
[code]
public class Testando
{
public static void main(String args[])
{
long[] ip_convertido = new long[4];
String[] ip_tratado = new String[4];
String[] ip_original = new String[4];
ip_original[0] = "172.16.211.207";
ip_original[1] = "172.16.211.187";
ip_original[2] = "172.16.211.227";
ip_original[3] = "127.0.0.1";
//tira os "." do ip e armazena em uma string
for(int i = 0; i <= 3; i++)
{
ip_tratado[i] = ip_original[i].replaceAll("\.", ""); //tira os pontos e armazena em ip_tratado
ip_convertido[i] = Long.ParseLong(ip_tratado[i]); //**DEVERIA** converter "ip tratado" em LONG
}
}
(Faça a seguinte experiência - veja se http://72.5.124.161 e http://264600737 não vão para o mesmo lugar (o site da Sun). Infelizmente meu proxy vê o endereço http://264600737 e se embanana todo, achando que tem de acessar uma URL dentro da empresa.
Não tire os pontinhos, hein? Senão você vai ter o problema de não saber se o endereço era “172.16.211.207” ou “172.162.112.07” ou coisa parecida. Use a conversão que lhe indiquei.
Amigo, tirando os pontos, você não sabe o IP se é “17.216.2112.07” ou “172.16.211.207” ou "“172.162.11.207” ou "“172.162.112.07” - todos os IPs são válidos e tirando os pontos dá o mesmo valor, "“17216211207”. É por isso que lhe sugeri a conversão padrão.
Outra forma de comparar 2 IPs sem ter de fazer a conversão padrão é comparar parte por parte; mas nunca tire os pontos, porque são significantes.