Lectura y escritura combinadas en ficheros en java

Las operaciones de lectura y escritura sobre ficheros se pueden combinar de tal forma que haya un flujo de lectura y otro de escritura, uno de lectura y dos de escritura, tres de lectura, etc.

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());
  }
 }
}
s

Compartir

0 Comment to "Lectura y escritura combinadas en ficheros en java"

Publicar un comentario