Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación
Clase File en Java
En este tutorial exploramos la clase java.io.File y sus operaciones esenciales del sistema de archivos, ilustradas con ejemplos claros.
La clase File del paquete java.io proporciona una interfaz programática para trabajar con archivos y directorios en el sistema de archivos. Aunque la API más reciente java.nio.file ofrece capacidades adicionales, esta guía se centra en el enfoque clásico de java.io.
Archivos y directorios
Un archivo es una ubicación de almacenamiento con nombre para datos. Por ejemplo, main.java contiene el código fuente de un programa Java.
Un directorio (o carpeta) es un contenedor que puede contener archivos y otros directorios (subdirectorios). Comprender estos conceptos es la base para manipular el sistema de archivos en Java.
Creación de un objeto File
Primero, importe la clase:
import java.io.File;
Luego, instánciela con una ruta:
// Crea un objeto File que representa la ruta
File archivo = new File("ruta/al/archivo.txt");
La instancia de File es simplemente una representación abstracta; no crea el archivo físico en el disco.
Nota: Instanciar File no crea un archivo; solo mantiene la ruta.
Operaciones clave con archivos
| Operación | Método | Paquete |
|---|---|---|
| Crear un archivo | createNewFile() | java.io.File |
| Leer un archivo | read() | java.io.FileReader |
| Escribir en un archivo | write() | java.io.FileWriter |
| Eliminar un archivo | delete() | java.io.File |
Creación de archivos
El método createNewFile() intenta crear un nuevo archivo en la ruta especificada. Devuelve:
truesi el archivo no existía previamente y fue creado.falsesi ya existe un archivo en esa ubicación.
Ejemplo: Crear un nuevo archivo
import java.io.File;
public class Main {
public static void main(String[] args) {
File archivo = new File("nuevoArchivo.txt");
try {
boolean creado = archivo.createNewFile();
if (creado) {
System.out.println("El nuevo archivo ha sido creado.");
} else {
System.out.println("El archivo ya existe.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Si nuevoArchivo.txt no existe, el programa muestra:
El nuevo archivo ha sido creado.
Si ya existe, la salida es:
El archivo ya existe.
Lectura de archivos
La lectura puede realizarse mediante subclases de InputStream o Reader. Una opción común es FileReader.
Ejemplo: Leer un archivo con FileReader
import java.io.FileReader;
public class Main {
public static void main(String[] args) {
char[] buffer = new char[100];
try {
FileReader lector = new FileReader("entrada.txt");
lector.read(buffer);
System.out.println("Datos en el archivo:");
System.out.println(buffer);
lector.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
El archivo de ejemplo entrada.txt contiene:
Esta es una línea de texto dentro del archivo.
Ejecutar el programa imprime:
Datos en el archivo: Esta es una línea de texto dentro del archivo.
Escritura en archivos
La escritura se realiza típicamente con subclases de OutputStream o Writer, como FileWriter.
Ejemplo: Escribir en un archivo con FileWriter
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String datos = "Estos son los datos en el archivo de salida";
try {
FileWriter escritor = new FileWriter("salida.txt");
escritor.write(datos);
System.out.println("Los datos se han escrito en el archivo.");
escritor.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
El archivo resultante salida.txt contiene:
Estos son los datos en el archivo de salida.
Eliminación de archivos
El método delete() elimina el archivo o directorio especificado. Devuelve:
truesi la eliminación tuvo éxito.falsesi el archivo no existía o no pudo eliminarse.
Nota: Solo los directorios vacíos pueden eliminarse usando delete().
Ejemplo: Eliminar un archivo
import java.io.File;
public class Main {
public static void main(String[] args) {
File archivo = new File("archivo.txt");
boolean eliminado = archivo.delete();
if (eliminado) {
System.out.println("El archivo ha sido eliminado.");
} else {
System.out.println("El archivo no ha sido eliminado.");
}
}
}
Salida:
El archivo ha sido eliminado.
Ejemplos relacionados
- Crear directorio en Java
- Renombrar archivo en Java
- Listar archivos en un directorio en Java
- Copiar archivos en Java
Java
- Palabra clave final en Java: Variables, métodos y clases
- Operador instanceof en Java: Guía completa
- Dominando la herencia en Java: Conceptos, tipos y ejemplos prácticos
- Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
- Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
- Dominando ArrayList en Java: Operaciones, métodos y mejores prácticas
- Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
- Dominando Java BufferedReader: Manejo Eficiente de Flujos de Caracteres
- Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe