Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2011, 17:56
elpetakas
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 9 meses
Puntos: 10
Ayuda con BufferedReader (java.io.IOException: Stream closed)

¡Hola buenas! Soy nuevo, voy soltando mis dudas por aquí, espero aprender y poder aportar en un futuro. Mi duda es la siguiente:

Tengo el siguiente código, sin duda hice algo mal, lo que quiero es leer datos de varios ficheros y escribirlos en otro conforme los vaya leyendo

Código:
//Leemos nuestros Ficheros para anotar la Fecha y el importe de cada Factura en nuestro Fichero ResumenGlobal
        for (int i = 1; i < NumFacturas; i++)
        {
            fr = new FileReader("Factura " + Integer.toString(i) + ".txt");
            Leer = new BufferedReader(fr);

            //Desechamos las lineas que no nos valen
            Leer.readLine();
            Leer.readLine();
            Leer.readLine();

            //Guardamos la fecha
            String FechaFactura = Leer.readLine().substring(5,24);

            //Desechamos las lineas que no nos valen
            Leer.readLine();
            Leer.readLine();
            Leer.readLine();
            Leer.readLine();
            Leer.readLine();

            //Guardamos el importe Total
            String ImporteTotal = Leer.readLine().substring(24,28);

            //Escribimos en el Fichero ResumenGlobal los Datos de cada factura
            Escribir.println("Factura: " + FechaFactura + " Importe: " + ImporteTotal.trim()  + " €");

            CajaTotal += Double.parseDouble(ImporteTotal);        
        }
Las facturas que intento leer son como esta:
Código:

******* LA CARMINA **********
******* Doctor Alberca 5 ****
******* 13600 VALENCIA ******
**** 27/01/2011 18:19:53 ****

Factura: 
Lejia Marca Hacendaño	2.4 €
Leche Marca Hacendaño	2.4 €
Huevos Marca Hacendaño	4.8 €
        Total Factura:  9.6 € 

Bueno pues el problema esta en que a la vuelta del bucle for, cuando accede por segunda vez, me lanza la java.io.IOException: Stream closed, ¿Cuando utilizas la palabra new no vuelve a crear el objeto? ¿Hay alguna forma de hacer un bucle para leer varios ficheros usando un mismo FileReader y BufferedReader?¿Es posible?

y de paso también si alguien sabe alguna manera de Leer directamente una Linea dentro de un fichero de una forma mas correcta que la que he utilizado yo