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étodo | Descripció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étodo | Descripció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étodo | Descripció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);
}
}
}