Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Java (básico) > como detectar cuando es una linea en blanco
-Foros de debate

Java (básico)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

como detectar cuando es una linea en blanco
Enviado por dandarc el día 13 de junio de 2008

Hola,
Estoy barriendo un archivo de texto, pero necesito detectar cuando se este pasando por una linea en blanco, porque estoy evaluando un substring, entonces el programa truena por java.lang.StringIndexOutOfBoundsException: String index out of range, ya que el substring se pasa obviamente.

Bueno, este es un pedazo del codigo:

while ((line = br.readLine()) != null) {

if (line != 'AQUI ES DONDE ME FALTA LA FUNCION'){
if (line.substring(0,10).equals(lineToStartWrite)) {
band = true;
//System.out.println("Entro" + line.substring(0,10));

}
}


GRACIAS.

 
Re: como detectar cuando es una linea en blanco
Enviado por jonsy el día 15 de junio de 2008

yo utilizo esto:

boolean isEmptyString(String str) {
if (str==null) return true;
if (str.length()==0) return true;
if (str.trim().length()==0) return true;
for (int n=0;n<str.length();n++)
if (!Character.isSpace(str.charAt(n))) return false;
return true;
}

El usar esta secuencia de comprobaciones se debe a que estadisticamente es mucho más probable una sentencia vacia, que una secuencia de espacios, por lo que si la utilizas mucho el resultado optimiza el tiempo de ejecución. Lo habitual sería una sentencia tipo str.match("[ \\t\\n]"), pero e compilador de expresiones regulares es demasiado lento...

De nada :-)

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network