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));
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...