Trabajo con el sistema de archivos en Java: guía completa

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: desde lo básico hasta técnicas avanzadas



Trabajar con el sistema de archivos es una de las tareas fundamentales en programación. Java proporciona a los desarrolladores herramientas potentes y flexibles para gestionar archivos y directorios. En este artículo, analizaremos en detalle cómo trabajar con el sistema de archivos en Java, utilizando tanto el paquete clásico java.io como el moderno java.nio.file. Aprenderá a crear, leer, escribir archivos, gestionar directorios y manejar excepciones.



Fundamentos del trabajo con archivos en Java: la clase File



La clase java.io.File es la piedra angular del trabajo con el sistema de archivos en Java. Representa una representación abstracta de una ruta a un archivo o directorio. Es importante entender que File no almacena el contenido del archivo, sino que solo proporciona métodos para verificar propiedades y realizar operaciones.



Veamos las operaciones básicas con File:



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

public class FileExample { public static void main(String[] args) { // Creación de un objeto File File file = new File("example.txt"); File directory = new File("myDirectory");

// Verificación de existencia System.out.println("El archivo existe: " + file.exists()); System.out.println("La carpeta existe: " + directory.exists());

// Creación de un nuevo archivo try { if (file.createNewFile()) { System.out.println("Archivo creado: " + file.getName()); } else { System.out.println("El archivo ya existe"); } } catch (IOException e) { System.err.println("Error al crear el archivo: " + e.getMessage()); }

// Creación de un directorio if (directory.mkdir()) { System.out.println("Carpeta creada: " + directory.getName()); }

// Obtención de información del archivo System.out.println("Ruta absoluta: " + file.getAbsolutePath()); System.out.println("Tamaño del archivo: " + file.length() + " bytes"); System.out.println("Legible: " + file.canRead()); System.out.println("Escribible: " + file.canWrite());

// Eliminación del archivo if (file.delete()) { System.out.println("Archivo eliminado"); } }}


La clase File también permite trabajar con listas de archivos en un directorio:



File currentDir = new File(".");String[] contents = currentDir.list();for (String item : contents) {    System.out.println(item);}


Lectura y escritura de archivos: flujos de entrada/salida



Para trabajar directamente con el contenido de los archivos, Java utiliza flujos de entrada/salida (I/O streams). Las clases principales para trabajar con archivos de texto son FileReader/FileWriter y BufferedReader/BufferedWriter.



Lectura de un archivo línea por línea



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

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


Observe la construcción try-with-resources. Cierra automáticamente el flujo, lo que evita la fuga de recursos.



Escritura en un archivo



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

public class WriteFileExample { public static void main(String[] args) { String fil

Blogs

Book Recommendations