generated from programacionThiar/plantilla_iesthiar-maven-21
69 lines
3.7 KiB
Markdown
69 lines
3.7 KiB
Markdown
# 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)
|