En el ejemplo que presentamos a continuación hay dos flujos de lectura y uno de escritura. Observa que se declaran en total tres manejadores de fichero (dos para lectura y uno para escritura). El programa va leyendo, de forma alterna, una línea de cada fichero - una línea de fichero1.txt y otra línea de fichero2.txt - mientras queden líneas por leer en alguno de los ficheros; y al mismo tiempo va guardando esas líneas en otro fichero con nombre mezcla.txt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; class EjemploFichero03 { public static void main(String[] args) { try { BufferedReader bf1 = new BufferedReader(new FileReader("fichero1.txt")); BufferedReader bf2 = new BufferedReader(new FileReader("fichero2.txt")); BufferedWriter bw = new BufferedWriter(new FileWriter("mezcla.txt")); String linea1 = ""; String linea2 = ""; while ( (linea1 != null) || (linea2 != null) ) { linea1 = bf1.readLine(); linea2 = bf2.readLine(); if (linea1 != null) bw.write(linea1 + "\n"); if (linea2 != null) bw.write(linea2 + "\n"); } bf1.close(); bf2.close(); bw.close(); } catch (IOException ioe) { System.out.println("Se ha producido un error de lectura/escritura"); System.err.println(ioe.getMessage()); } } } |
0 Comment to "Lectura y escritura combinadas en ficheros en java"
Publicar un comentario