Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/05/2012, 00:12
feder162004
 
Fecha de Ingreso: mayo-2012
Ubicación: tegucigalpa
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Respuesta: En qué afecta este if?

Cita:
Iniciado por Rod_Man_mx Ver Mensaje
Hola a todos,

Estoy atravesando por algo muy extraño en estos momentos,

Estoy realizando un programa que leer un archivo, y en cuanto lee la linea la la procesa, y la guarda en un segundo archivo, hasta este punto parece sencillo, estamos hablando de un archivo de 100,000 lineas, y que es solo uno "pequeño", así que para hacer las pruebas limite mi código a que leyera 10 lineas y se saliera, pero cuando quito el if simplemente truena y me manda un StringIndexOutOfBoundsException al leer la linea 7! (siendo que si dejo la condición a 10 lineas la lee sin problemas)
Y no entiendo cual es la diferencia, que cambia o que hace ese if que hace tronar el sistema, les dejo parte del código:

Código:
try{// empieza tu try
                    BufferedReader br = new BufferedReader(new FileReader(archivo));
                    FileWriter fstream = new FileWriter(this.salida);
                    BufferedWriter out = new BufferedWriter(fstream, 1);
                    int i = 1;
                    while ((thisLine = br.readLine()) != null) {// empieza el while
                        
                        // proceso de la linea

                       if(i >= 10) break;// y las llaves de tu if, estoy casi seguro q cuando borras el if te llevas la llave de abajo osea la del while, asi q por esa razon truena
                       
                    }// termina el while
                    out.close();
   //aca el try             } catch (IOException e) {// empieza el catch
                    System.err.println("Error: " + e);
                }// termina el catch

A que se podría llegar a deber esto?
Claramente se ve q borras el cierre del while, espero te sirva de ayuda ve los comments del code saludos