NIVELL 2 · Sessió 2 · El sistema de fitxers
Path i Files
- Missatge
- Manual
- Reptes
- Cartutx
Aquest nivell ja està superat. Pots tornar-lo a jugar, però la puntuació desada no canviarà.
Manual del nivell
Desbloqueja les 3 pàgines del manual per poder jugar. Llegeix-les bé: els reptes en faran preguntes.
Un Path és una adreça, no el fitxer
Crear o manipular un Path no toca el disc: només treballa amb el text de la ruta. Per saber si el fitxer existeix, cal preguntar-ho a Files.
Path cataleg = Path.of("dades", "catalog.csv");
cataleg.toAbsolutePath(); // ruta completa des de l'arrel
cataleg.getFileName(); // catalog.csv
cataleg.getParent(); // dades
Path copia = Path.of("dades").resolve("backup").resolve("catalog.csv");
Files.exists(cataleg); // aquí sí que es mira el disc| Fragment | Què fa |
|---|---|
Path.of("dades", "catalog.csv") | Construeix la ruta per trams; Java hi posa el separador correcte (\ o /). |
resolve("backup") | Enganxa un tram nou al final de la ruta. |
Files.exists(cataleg) | Pregunta al disc si el fitxer hi és: retorna true o false. |
Files pregunta i actua
- Preguntes:
Files.isRegularFile,isDirectory,isReadable,size(bytes) ireadAttributes(dates de creació i modificació). createDirectoriescrea la carpeta i les que faltin, i no falla si ja hi és.createDirectory(sense «s») és estricte: llança FileAlreadyExistsException.writeStringcrea un fitxer de text (o el sobreescriu).
Copiar, moure i esborrar
Files.copy(origen, desti)falla si el destí ja existeix, llevat que hi afegimStandardCopyOption.REPLACE_EXISTING.Files.moveel treu de l'origen i el posa al destí.Files.deleteIfExistsretorna true si l'ha esborrat i false si no hi era. No llança excepció.
Files.copy(cataleg, copia, StandardCopyOption.REPLACE_EXISTING);
Files.move(origen, desti, StandardCopyOption.REPLACE_EXISTING);
boolean esborrat = Files.deleteIfExists(desti);Nivell superat
Posició 2Y
Rutes restaurades. Segon cartutx recuperat.
- XP guanyats
- 0
- Errors
- 0
- Pistes
- 0
Anota bé la lletra i la seva posició: abans del boss hauràs de reconstruir la contrasenya.