Saltar al contenido principal

Escritura de ficheros de texto

FileWriter

La clase FileWriter permite escribir caracteres en un archivo de texto. Puede escribir desde cero o añadir texto a un archivo existente. En su constructor podemos pasarle la ruta en un String o un objeto File. Es opcional un segundo parámetro en el constructor que indica si se añade al final (si es verdadero) o se escribe desde el inicio (si es falso).

Los principales métodos de la clase FileWriter:

MétodoDescripción
void write(String texto)Escribe texto en el archivo.
void close()Cierra el archivo para liberar recursos.

Ejemplo:

import java.io.FileWriter;
import java.io.IOException;

public class EjemploFileWriter {
public static void main(String[] args) {
try {
FileWriter escritor = new FileWriter("ejemplo.txt");
escritor.write("Hola, este es un ejemplo de escritura en archivo.\n");
escritor.write("Segunda línea de texto.\n");
escritor.close();
System.out.println("Texto escrito correctamente.");
} catch (IOException e) {
System.out.println("Error al escribir en el archivo.");
System.out.println(e);
}
}
}

BufferedWriter

La clase BufferedWriter mejora el rendimiento al escribir grandes volúmenes de texto. En su constructor debemos pasarle un objeto FileWriter.

Los principales métodos de la clase BufferedWriter:

MétodoDescripción
void write(String s)Escribe una cadena de texto en el archivo.
void newLine()Añade un salto de línea (\n).
void close()Cierra el escritor y libera los recursos asociados.

Ejemplo:

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

public class EjemploBufferedWriter {
public static void main(String[] args) {
try (BufferedWriter escritor = new BufferedWriter(new FileWriter("ejemplo.txt"))) {
escritor.write("Añadiendo texto con BufferedWriter.");
escritor.newLine(); // Añade una nueva línea
escritor.write("Segunda línea.");
System.out.println("Texto añadido correctamente.");
} catch (IOException e) {
System.out.println("Error al escribir.");
System.out.println(e);
}
}
}

PrintWriter

La clase PrintWriter facilita la escritura de texto, números y formatos. En su constructor podemos pasarle la ruta en un String, un objeto File o un objeto PrintWriter.

Los principales métodos de la clase PrintWriter:

MétodoDescripción
void print(String s)Escribe una cadena de texto sin salto de línea.
void println(String s)Escribe una cadena de texto seguida de un salto de línea.
PrintWriter printf(String format, Object... args)Escribe texto formateado usando especificadores (%d, %f, %s, etc.).
close()Cierra el escritor y libera los recursos asociados.

Ejemplo:

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class EjemploPrintWriter {
public static void main(String[] args) {
try (PrintWriter escritor = new PrintWriter(new FileWriter("ejemplo.txt"))) {
escritor.println("Línea escrita con PrintWriter.");
escritor.printf("Número formateado: %.2f\n", 10.256);
System.out.println("Texto escrito con éxito.");
} catch (IOException e) {
System.out.println("Error al escribir.");
System.out.println(e);
}
}
}