/**
* Este metodo devuelve true si la direccion ip pasada como parametro
* es valida o false en caso contrario
* @param dir String
* @return boolean
*/
public static boolean esUnaDireccionIPValida( String dir ) {
//En java un StringTokenizer es una version mejorada del String
// q permite darle formato a las cadenas. Al llamar el constructor
// y pasar por ej. la direccion="255.192.168.1" y el String punto "." lo q
// hago es separar la ip y dejar a st={"255","192","168","1"}
StringTokenizer st = new StringTokenizer( dir, "." );
//ahora verifico q si el tamaño de st no es 4, osea, los 4 numeros
// q debe tener toda direcicon ip, digo q esta mal la direccion ip.
if ( st.countTokens() != 4 ) {
return false;
}
//ahora sigo verificando, y le digo a st con el metodo nextTokens()
// q me de uno por uno sus elementos, es decir, los 4 numeros de las
// de la direcicon ip. Luego verifo q el numero tenga solo 1 o 3 digitos y
// q este entre 0 y 255. Y listo, eso es todo.
while ( st.hasMoreTokens() ) {
String nro = st.nextToken();
if ( ( nro.length() > 3 ) || ( nro.length() < 1 ) ) {
return false;
}
int nroInt = 0;
try {
nroInt = Integer.parseInt( nro );
}
catch ( NumberFormatException s ) {
return false;
}
if ( ( nroInt < 0 ) || ( nroInt > 255 ) ) {
return false;
}
}
return true;
}