Introducción
El manejo de archivos de texto en Java es fundamental para muchas aplicaciones que requieren almacenar o leer datos de manera persistente. Java proporciona clases para leer y escribir en archivos, lo cual se puede hacer a través de la API de E/S (Entrada/Salida). Los archivos de texto son comúnmente utilizados para almacenar datos estructurados o no estructurados de manera legible para los humanos.
Lectura de Archivos:
Permite abrir y leer datos de un archivo.
Se puede realizar mediante clases como FileReader, BufferedReader, y Scanner.
Escritura de Archivos:
Permite escribir datos en un archivo.
Se puede hacer con clases como FileWriter, BufferedWriter, y PrintWriter.
Para leer archivos en Java, se utilizan clases especializadas que leen el contenido línea por línea o carácter por carácter.
Clases para leer archivos:
FileReader: Permite leer archivos carácter por carácter.
FileReader fr = new FileReader("archivo.txt");
2. BufferedReader: Utilizado junto con FileReader, lee líneas completas del archivo de manera más eficiente.
BufferedReader br = new BufferedReader(new FileReader("archivo.txt"));
String linea = br.readLine();
3. Scanner: Otra forma común de leer archivos, puede leer texto y realizar la separación en tokens.
Scanner sc = new Scanner(new File("archivo.txt"));
while (sc.hasNext()) {
String texto = sc.nextLine();
}
Sintaxis para lectura de archivo:
try {
FileReader fr = new FileReader("archivo.txt");
BufferedReader br = new BufferedReader(fr);
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
Para escribir en archivos, Java ofrece varias clases que permiten agregar texto al final de un archivo o crear un archivo nuevo.
Clases para escribir archivos:
FileWriter: Permite escribir caracteres en un archivo.
FileWriter fw = new FileWriter("archivo.txt");
2. BufferedWriter: Usado junto con FileWriter, escribe texto de manera más eficiente.
BufferedWriter bw = new BufferedWriter(new FileWriter("archivo.txt"));
3. PrintWriter: Una clase más flexible para escribir en archivos, permite escribir datos de diferentes tipos de manera conveniente.
PrintWriter pw = new PrintWriter(new FileWriter("archivo.txt"));
Sintaxis para escritura de archivo:
try {
FileWriter fw = new FileWriter("archivo.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Texto que se escribirá en el archivo.");
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
File: La clase File permite representar archivos y directorios en el sistema de archivos, y ofrece métodos para comprobar si un archivo existe, crear uno nuevo, o eliminarlo.
Para crear un archivo nuevo:
File archivo = new File("nuevoArchivo.txt");
if (archivo.createNewFile()) {
System.out.println("Archivo creado exitosamente.");
} else {
System.out.println("El archivo ya existe.");
}
Siempre que se trabaja con archivos, es crucial cerrarlos después de que se haya terminado de leer o escribir, para liberar recursos del sistema. Esto se hace usando el método close().
br.close();
La lectura y escritura de archivos en Java pueden lanzar excepciones, como IOException, que debe ser manejada adecuadamente. Las excepciones se manejan utilizando bloques try-catch.
try {
// Código de E/S
} catch (IOException e) {
e.printStackTrace();
}
import java.io.*;
public class ManejoDeArchivos {
public static void main(String[] args) {
// Escritura en archivo
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("archivo.txt"));
bw.write("Este es un archivo de texto.");
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
// Lectura desde archivo
try {
BufferedReader br = new BufferedReader(new FileReader("archivo.txt"));
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
El manejo de archivos de texto en Java es esencial para almacenar y leer información de manera persistente. Se utilizan clases como FileReader, BufferedReader, FileWriter, y BufferedWriter para leer y escribir archivos de manera eficiente. El manejo adecuado de excepciones mediante try-catch es necesario para evitar que errores de entrada/salida interrumpan la ejecución del programa. Además, siempre es importante cerrar los archivos al finalizar las operaciones para liberar recursos.