Trabajo con el sistema de archivos en Java: guía práctica

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Trabajo con el sistema de archivos en Java: guía práctica



Trabajar con el sistema de archivos es una de las tareas fundamentales en programación. En Java, existe un conjunto de herramientas potente y flexible para ello, desde el clásico paquete java.io hasta el moderno java.nio.file. En este artículo, analizaremos con ejemplos prácticos cómo crear, leer, escribir y eliminar archivos, así como trabajar con directorios.



1. Clase File: base del trabajo con archivos



La clase java.io.File es la clase básica para representar una ruta a un archivo o directorio. Permite verificar la existencia, crear, renombrar y eliminar objetos del sistema de archivos.



Creación y verificación de existencia de un archivo



import java.io.File;import java.io.IOException;

public class FileExample { public static void main(String[] args) { File file = new File("example.txt");

if (file.exists()) { System.out.println("El archivo existe: " + file.getAbsolutePath()); } else { try { if (file.createNewFile()) { System.out.println("Archivo creado: " + file.getName()); } } catch (IOException e) { System.err.println("Error al crear el archivo: " + e.getMessage()); } }

// Verificación de propiedades System.out.println("Legible: " + file.canRead()); System.out.println("Escribible: " + file.canWrite()); System.out.println("Tamaño: " + file.length() + " bytes"); }}


Trabajo con directorios



File dir = new File("my_directory");

if (dir.mkdir()) { System.out.println("Directorio creado");}

// Creación de directorios anidadosFile nestedDir = new File("parent/child/grandchild");if (nestedDir.mkdirs()) { System.out.println("Directorios anidados creados");}

// Obtención de lista de archivosString[] files = dir.list();for (String fileName : files) { System.out.println(fileName);}


2. Lectura y escritura de archivos mediante FileReader/FileWriter



Para trabajar con archivos de texto, es conveniente usar las clases FileReader y FileWriter. Funcionan a nivel de caracteres y admiten codificaciones.



Escritura en un archivo



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

public class WriteExample { public static void main(String[] args) { try (FileWriter writer = new FileWriter("output.txt", true)) { writer.write("¡Hola, mundo!"); writer.write("Esta es la segunda línea."); writer.flush(); System.out.println("Datos escritos exitosamente"); } catch (IOException e) { System.err.println("Error de escritura: " + e.getMessage()); } }}


Tenga en cuenta: el segundo parámetro true en el constructor de FileWriter activa el modo de añadir (append). Si se omite, el archivo se sobrescribirá.



Lectura de un archivo



import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;

public class ReadExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) { String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (IOException e) { System.err.println("Error de lectura: " + e.getMessage()); } }}


El uso de BufferedReader acelera significativamente la lectura de archivos grandes gracias al almacenamiento en búfer.



3. Enfoque moderno: java.nio.file (NIO.2)



A partir de Java 7, apareció el paquete java.nio.file, que proporciona herramientas más convenientes y eficientes para

Blogs

Book Recommendations