Chapitre 9 Flashcards
Quel est le package de Path ?
Java.nio.file.Path
Qu’est ce que Path ?
Path est une interface
Qui supporte les liens symboliques entre Path et File ?
Path
Quel est la différence entre Paths et Path ?
Path est une interface
Paths est une classe
Quel est le package de Files ?
java.nio.file.Files
Quel est le package de Paths ?
java.nio.file.Paths
Quel piège ils peuvent faire avec Path et Paths ?
Ils vont faire des pièges :
Paths path1 = Paths.get(“/toto/tata”)
Path path2 = Path.get(“/toto/tata”)
Que veut dire URI ?
Uniform Resource Identifier
Comment obtenir un URI à partir d’un Path ?
path.toUri()
De quel méthode Paths.get() est un shorthand ?
De la méthode getPath de la classe java.nio.file.FileSystem
Comment obtient-on un Path avec FileSystems ?
On l’obtient en récupérant un FileSystem (sans s) et en utilisant sa méthode getPath(String).
Path path1 = FileSystems.getDefault().getPath(“panda/cuddly.png”);
Donne moi les optionals arguments de NIO.2
- NOFOLLOW_LINKS
- FOLLOW_LINKS
- COPY_ATTRIBUTES
- REPLACE_EXISTING
- ATOMIC_MOVE
Qu’est ce que renvoie la méthode d’instance Path.getName(int) ?
Path
Que fait la méthode d’instance getParent() ?
Elle retourne un Path qui représente le parent du path.
Si le path est un chemin relatif il n’ira pas à l’extérieur de son dossier actuel et renverra null si on donne un parent qui est au dessus.
Est-ce que la méthode d’instance Path.isAbsolute() est file system dépendant ?
Oui car /toto/tutu retourne true sur Linux et false sur Windows et pareil pour c:\toto\tutu
Qu’est ce que fait la méthode d’instance Path.subpath(int, int) ?
Il retourne un Path représentant un sous-path qui part de l’index donné en premier argument (inclus) à l’index en deuxième argument (exclu)
Dans quel cas la méthode d’instance Path.subpath(int,int) renvoie une exception (IllegalArgumentException) ?
Cas 1 : si on mets un index qui n’existe pas ou un index supérieur à n+1
Cas 2 : si on mets le même index pour les 2 arguments
Dans quel cas la méthode d’instance Path.relativize throw une exception ?
Lorsqu’on lui passe un chemin relatif avec un chemin absolue, on aura un IllegalArgumentException qui sera raise.
On doit forcément lui passer sois deux chemins absolu ou sois deux chemins relatifs
Que fait la méthode d’instance Path.resolve(Path) ?
Cas 1 : le path passé en paramètre est un chemin absolue, résolve va retourner le chemin absolue
Cas 2 : le path passé en paramètre est un chemin relatif, il va rajouter le chemin au Path appelant.
Quels sont les méthodes qui check l’existence d’un fichier ?
- la méthode d’instance Path.toRealPath()
Quelle méthode dans la classe Files est équivalente à la méthode d’instance length() de la classe Java.io.File ?
size()
Comment obtenir un Path ?
- la méthode static Paths.get(), avec get(String), get(String, String…), get(URI)
- la méthode d’instance FileSystem.getPath(String)
- la méthode d’instance File.toPath()
Que fait la méthode Files.lines() ?
Elle va créer un stream de String qui contient toutes les lignes du fichier
Que fait Files.readAllLines() ?
Elle renvoie une List<String> qui contient toutes les lignes du fichier</String>
Que retourne Files.walk(Path) ?
Stream<Path></Path>
Quelles sont les stratégies de recherche de Files.walk() ? Qu’elle est la stratégie par défaut ?
Il y a :
- Depth-First Search (par défaut)
- Breadth-First Search
Comment se connecter à un remote file system ?
FileSystem fileSystem = FileSystems.getFileSystem(new URI(“http://www.selikoff.net”));
Quel est le package de URI ?
java.net.URI
Si on déplace ou on copie un fichier sans l’optional argument REPLACE_EXISTING et que le fichier existe déjà ?
Une exception sera throw
Que se passe t’il lorsque l’on utilise Files.exists(Path) et que le fichier n’existe pas ?
La méthode renvoie false (pas d’exception)
Comment avoir tout les attributs d’un fichier qui fait partie de BasicFileAttributes ?
On fait :
BasicFileAttributes data = Files.readAttributes(path, BasicFileAttributes.class))
Comment obtenir un chemin absolue avec Path ? Et avec un File ?
Avec la méthode d’instance File.getAbsolutePath() et avec la méthode d’instance Path.toAbsolutePath()
Donne moi la signature de la méthode static java.nio.file.Files.copy
- copy(Path, Path) (on peut ajouter un StandardCopyOption)
- copy(InputStream, Path) (on peut ajouter un StandardCopyOption)
Que fait isSameFile dans son process pour savoir si un fichier est le même qu’un autre
Étape 1 : il va comparer les string des deux Path pour voir s’ils sont égaux
Étape 2 : si ça n’est pas le cas, il va vérifier dans le système de fichier que c’est le même fichier ! Si le fichier n’existe pas il va throw un NoSuchFileException.
Que prends en paramètre la méthode static Files.find ?
Il prends 3 arguments en paramètres :
- Path p : le path du dossier
- int depth : le niveau de profondeur que vous recherchez
- BiPredicate : une fonction qui prends 2 paramètre : Path du fichier et le BasicFileAttributes du fichier
La méthode static Files.isSameFile suit il les liens symboliques par défaut ?
Oui