Tarea 2: Listado Parametrizado por Argumentos
Explicación del Ejercicio
En esta segunda tarea se amplía la funcionalidad del listado de directorios mediante el paso de argumentos por línea de comandos (args). Esto permite consultar dinámicamente cualquier ruta especificada al ejecutar el programa.
Conceptos y métodos clave:
-
Control de parámetros de entrada: Se valida si el array
argscontiene elementos (args.length == 0) para prevenir excepciones en tiempo de ejecución al intentar acceder a rutas no definidas. -
Comprobación de existencia (
exists()): Antes de procesar el contenido, se verifica mediantedirectorio.exists()si la ruta introducida existe en el sistema de archivos. -
Gestión de contenido: Si la ruta es válida y existe, se obtiene el array mediante
listFiles()y se muestra el listado por consola; en caso contrario, se notifica el error correspondiente.
Código Fuente y Salida
Clase1.java
package ClaseFile;
import java.io.File;
/**
* @author Eva Gallardo Romero
* @date 17 de sep de 2026
* Muestra todo el contenido de un directorio determinado
*/
public class Clase1 {
public static void main(String[] args) {
// compruebo que se ha introducido una ruta
if (args.length == 0) {
System.out.println("Error: Debes proporcionar la ruta del directorio como argumento.");
return;
}
// objeto File que representa el directorio actual
File directorio = new File(args[0]);
// obtengo la lista de elementos que hay en el directorio
File[] contenido = directorio.listFiles();
// recorro el contenido que he obtenido del directorio y lo printeo
if (directorio.exists()) {
// recorro el contenido que he obtenido del directorio y lo printeo
if (contenido != null) {
System.out.println("Este es el contenido existente en Ficheros");
for (int i = 0; i < contenido.length; i++) {
System.out.println(contenido[i]);
}
} else {
System.out.println("No hay contenido en el directorio");
}
} else {
System.out.println("El directorio introducido no existe");
}
}
}
Resultados Mostrados por Terminal
Caso 1: Ejecución sin argumentos (java ClaseFile.Clase1)
Salida de Consola - Error de Parámetros
Error: Debes proporcionar la ruta del directorio como argumento.
Caso 2: Directorio no existente (java ClaseFile.Clase1 "C:/RutaInexistente")
Salida de Consola - Ruta Inválida
El directorio introducido no existe
Caso 3: Ejecución correcta (java ClaseFile.Clase1 "src/ClaseFile")
Salida de Consola - Listado de Ruta
Este es el contenido existente en Ficheros
src\ClaseFile\Clase0.java
src\ClaseFile\Clase1.java
src\ClaseFile\Clase2.java
src\ClaseFile\Clase3.java
src\ClaseFile\Clase4.java