Files
t12ficheros-ejerciciosA/README.md
2024-05-12 19:07:15 +02:00

69 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Proyecto t12ficheros-ejerciciosA
Se deben modificar los archivos:
* README.md con las descripción del proyecto
* pom.xml con los nombre del proyecto y el artefacto
# EJERCICIOS (A) - GESTIÓN DE FICHEROS
Para probar estos ejercicios utilizar el archivo “Documentos.zip”. Descárgalo del aula virtual y descomprímelo en la carpeta de cada proyecto que crees.
## Ejercicio A1 - Mostrar información de ficheros
Implementa un programa que pida al usuario introducir por teclado una ruta del sistema de archivos (por ejemplo, “C:/Windows” o “Documentos”) y muestre información sobre dicha ruta (ver función más abajo). El proceso se repetirá una y otra vez hasta que el usuario introduzca una ruta vacía (tecla intro). Deberá manejar las posibles excepciones.
Necesitarás crear la función void muestraInfoRuta(File ruta) que dada una ruta de tipo File haga lo siguiente:
* Si es un archivo, mostrará por pantalla el nombre del archivo.
* Si es un directorio, mostrará por pantalla la lista de directorios y archivos que
contiene (sus nombres). Deberá mostrar primero los directorios y luego los
archivos.
* En cualquier caso, añade delante del nombre la etiqueta [*] o [A] para indicar si es
un directorio o un archivo respectivamente.
* Si el path no existe lanzará un FileNotFoundException.
## Ejercicio A2 - Mostrar información de ficheros (v2)
Partiendo de una copia del programa anterior, modifica la función muestraInfoRuta:
* En el caso de un directorio, mostrará la lista de directorios y archivos en orden
alfabético. Es decir, primero los directorios en orden alfabético y luego los archivos
en orden alfabético. Te será útil Arrays.sort().
* Añade un segundo argumento boolean info que cuando sea true mostrará, junto
a la información de cada directorio o archivo, su tamaño en bytes y la fecha de la
última modificación. Cuando info sea false mostrará la información como en el
ejercicio anterior.
## Ejercicio A3 - Renombrando directorios y ficheros
Implementa un programa que haga lo siguiente:
* Cambiar el nombre de la carpeta Documentos a DOCS, el de la carpeta
Fotografias a FOTOS y el de la carpeta Libros a LECTURAS
* Cambiar el nombre de todos los archivos de las carpetas FOTOS y LECTURAS
quitándole la extensión. Por ejemplo, astronauta.jpg pasará a llamarse
astronauta.
## Ejercicio A4 - Creando (y moviendo) carpetas
Implementa un programa que cree, dentro de Documentos, dos nuevas carpetas: Mis
Cosas y Alfabeto. Mueve las carpetas Fotografias y Libros dentro de Mis Cosas. Luego crea dentro de Alfabeto una carpeta por cada letra del alfabeto (en mayúsculas): A, B,
C... Z. Te serán de ayuda los códigos numéricos ASCII: https://elcodigoascii.com.ar
## Ejercicio A5 - Borrando archivos
Implementa un programa con una función boolean borraTodo(File f) que borre f: Si no
existe lanzará una excepción. Si es un archivo lo borrará. Si es un directorio, borrará
primero sus archivos y luego el propio directorio (recuerda que para poder borrar un
directorio debe estar vacío). Devolverá true si pudo borrar el File f (false si no fué posible).
Prueba la función borrando las carpetas: Documentos/Fotografias, Documentos/Libros
y Documentos (es decir, tres llamadas a la función, en ese orden).
*Super extra challenge: Esta función, tal y como está definida, no borrará las subcarpetas que estén dentro de una carpeta (para ello habría que borrar primero el contenido de dichas subcarpetas). ¿Se te ocurre cómo podría hacerse?*
### (Proyecto creado usando la plantilla plantilla_iesthiar-maven-21)