como detectar cuando es una linea en blanco

dandarc
15 de Junio del 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.

jonsy
15 de Junio del 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 :-)