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:
Las facturas que intento leer son como esta://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); }
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