como detectar cuando es una linea en blanco
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.
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.
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 :-)
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 :-)
