Tarea 9: Escritura de Ficheros de Texto con BufferedWriter

Explicación del Ejercicio

En esta tarea se escribe la tabla de multiplicar del 7 en un fichero de texto, una operación por línea, mediante la clase BufferedWriter. Esta clase añade un buffer intermedio al FileWriter y evita acceder al disco en cada escritura.

Conceptos y métodos clave:

  • Buffer de escritura (BufferedWriter): Envuelve al FileWriter: los datos se acumulan en memoria y se escriben en bloque, lo que resulta más eficiente que escribir carácter a carácter.
  • Salto de línea (newLine()): Inserta el separador de línea propio del sistema operativo (\r\n en Windows), por lo que es preferible a escribir "\n" a mano.
  • Recorrido con for: Un bucle de 1 a 10 construye cada fila concatenando el factor y el resultado (7 * i).
  • Gestión automática de recursos (try-with-resources): Al cerrar el flujo se vacía el buffer, de modo que ninguna línea se pierde.

Código Fuente y Salida

Clase8.java
package ClaseFile;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * @author Eva Gallardo Romero
 * @date 24 de sep de 2026
 * Escribir en el fichero "tabla7.txt" la tabla de multiplicar del 7
 * utilizando BufferedWriter. Cada operación debe ir en una línea
 * distinta, por lo que hay que usar el método newLine().
 */
public class Clase8 {

    public static void main(String[] args) {

        // objeto File del fichero que voy a escribir
        File fichero = new File("tabla7.txt");

        // el BufferedWriter envuelve al FileWriter para escribir con buffer
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(fichero))) {

            // escribo las 10 filas de la tabla, una por línea
            for (int i = 1; i <= 10; i++) {
                bw.write("7 x " + i + " = " + (7 * i));
                bw.newLine();
            }

            System.out.println("Se ha escrito la tabla del 7 en " + fichero.getName());

        } catch (IOException e) {
            System.out.println("Error de E/S: " + e.getMessage());
        }
    }
}

Resultado Mostrado por Terminal

Salida de Consola
Se ha escrito la tabla del 7 en tabla7.txt