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 mediante exists() si la carpeta "util" existe; si no es así, se crea con el método mkdir().
  • Uso de Colecciones (ArrayList): Se emplean listas de cadenas y objetos File para 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 objetos File pasando 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étodo renameTo().

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