¡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