Tarea 5: Creación, Manejo y Renombrado de Ficheros
Explicación del Ejercicio
En esta tarea se implementa un flujo completo de gestión de archivos y directorios mediante la clase java.io.File y colecciones dinámicas (ArrayList). El programa crea una carpeta de utilidades, genera dos ficheros de texto en su interior y posteriormente los renombra a extensión .dat.
Conceptos y métodos clave:
-
Creación de directorios (
mkdir()): Se comprueba medianteexists()si la carpeta"util"existe; si no es así, se crea con el métodomkdir(). -
Uso de Colecciones (
ArrayList): Se emplean listas de cadenas y objetosFilepara organizar de forma dinámica los nombres originales, sus rutas y los nombres a aplicar tras el renombrado. -
Generación de archivos (
createNewFile()): Se instancian objetosFilepasando el directorio contenedor (File(carpeta, archivos)) y se crean físicamente en el disco. -
Renombrado de ficheros (
renameTo()): Se recorren las listas de archivos y nuevos nombres para ejecutar la conversión mediante el métodorenameTo().
Código Fuente y Salida
Clase4.java
package ClaseFile;
import java.io.*;
import java.util.ArrayList;
import java.util.Collection;
/**
* @author Eva Gallardo Romero
* @date 21 de sep de 2026
* Crear en java una carpeta "util" en la carpeta actual.
* Crear en la carpeta "util" dos ficheros de texto:
* - text1.txt
* - text2.txt
* Finalmente renombrar ambos ficheros a:
* - util1.dat
* - util2.dat
*/
public class Clase4 {
public static void main(String[] args) throws IOException {
// objeto file de la carpeta util
String nombreCarpeta = "util";
File carpeta = new File("./" + nombreCarpeta);
if (!carpeta.exists()) {
carpeta.mkdir();
System.out.println("Se ha creado la carpeta " + nombreCarpeta);
}
// si la carpeta existe
if (carpeta.exists()) {
ArrayList<String> nombre = new ArrayList<>();
ArrayList<File> ficheros = new ArrayList<>();
// agregar nombres
nombre.add("text1.txt");
nombre.add("text2.txt");
// Añadimos a la colección de ficheros
for (String archivos : nombre) {
// Creamos objeto File
File archivo = new File(carpeta, archivos);
ficheros.add(archivo);
}
// creamos los ficheros
for (File arch : ficheros) {
// si no está creado el fichero
if (arch.createNewFile()) {
System.out.println("creando: " + arch.getName() + " En " + arch.getAbsolutePath());
}
}
// Renombrar los archivos
ArrayList<String> renombrar = new ArrayList<>();
// Añadimos los nuevos nombres
renombrar.add("util1.dat");
renombrar.add("util2.dat");
for (int i = 0; i < renombrar.size(); i++) {
// Creamos la variable file con la posición i
File archivo = ficheros.get(i);
File renombrado = new File(carpeta, renombrar.get(i));
if (archivo.renameTo(renombrado)) {
System.out.println("Renombrado " + archivo.getName() + " a " + renombrado.getName());
}
}
} else {
System.out.println("Creara");
}
}
}
Resultado Mostrado por Terminal
Salida de Consola
Se ha creado la carpeta util
creando: text1.txt En C:\PROYECTOS\AccesoDatos\util\text1.txt
creando: text2.txt En C:\PROYECTOS\AccesoDatos\util\text2.txt
Renombrado text1.txt a util1.dat
Renombrado text2.txt a util2.dat