Chapitre 9 Flashcards

1
Q

Quel est le package de Path ?

A

Java.nio.file.Path

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qu’est ce que Path ?

A

Path est une interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qui supporte les liens symboliques entre Path et File ?

A

Path

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quel est la différence entre Paths et Path ?

A

Path est une interface
Paths est une classe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quel est le package de Files ?

A

java.nio.file.Files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quel est le package de Paths ?

A

java.nio.file.Paths

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quel piège ils peuvent faire avec Path et Paths ?

A

Ils vont faire des pièges :
Paths path1 = Paths.get(“/toto/tata”)
Path path2 = Path.get(“/toto/tata”)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que veut dire URI ?

A

Uniform Resource Identifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Comment obtenir un URI à partir d’un Path ?

A

path.toUri()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

De quel méthode Paths.get() est un shorthand ?

A

De la méthode getPath de la classe java.nio.file.FileSystem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Comment obtient-on un Path avec FileSystems ?

A

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”);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Donne moi les optionals arguments de NIO.2

A
  • NOFOLLOW_LINKS
  • FOLLOW_LINKS
  • COPY_ATTRIBUTES
  • REPLACE_EXISTING
  • ATOMIC_MOVE
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qu’est ce que renvoie la méthode d’instance Path.getName(int) ?

A

Path

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Que fait la méthode d’instance getParent() ?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Est-ce que la méthode d’instance Path.isAbsolute() est file system dépendant ?

A

Oui car /toto/tutu retourne true sur Linux et false sur Windows et pareil pour c:\toto\tutu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est ce que fait la méthode d’instance Path.subpath(int, int) ?

A

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)

17
Q

Dans quel cas la méthode d’instance Path.subpath(int,int) renvoie une exception (IllegalArgumentException) ?

A

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

18
Q

Dans quel cas la méthode d’instance Path.relativize throw une exception ?

A

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

19
Q

Que fait la méthode d’instance Path.resolve(Path) ?

A

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.

20
Q

Quels sont les méthodes qui check l’existence d’un fichier ?

A
  • la méthode d’instance Path.toRealPath()
21
Q

Quelle méthode dans la classe Files est équivalente à la méthode d’instance length() de la classe Java.io.File ?

A

size()

22
Q

Comment obtenir un Path ?

A
  • 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()
23
Q

Que fait la méthode Files.lines() ?

A

Elle va créer un stream de String qui contient toutes les lignes du fichier

24
Q

Que fait Files.readAllLines() ?

A

Elle renvoie une List<String> qui contient toutes les lignes du fichier</String>

25
Q

Que retourne Files.walk(Path) ?

A

Stream<Path></Path>

26
Q

Quelles sont les stratégies de recherche de Files.walk() ? Qu’elle est la stratégie par défaut ?

A

Il y a :
- Depth-First Search (par défaut)
- Breadth-First Search

27
Q

Comment se connecter à un remote file system ?

A

FileSystem fileSystem = FileSystems.getFileSystem(new URI(“http://www.selikoff.net”));

28
Q

Quel est le package de URI ?

A

java.net.URI

29
Q

Si on déplace ou on copie un fichier sans l’optional argument REPLACE_EXISTING et que le fichier existe déjà ?

A

Une exception sera throw

30
Q

Que se passe t’il lorsque l’on utilise Files.exists(Path) et que le fichier n’existe pas ?

A

La méthode renvoie false (pas d’exception)

31
Q

Comment avoir tout les attributs d’un fichier qui fait partie de BasicFileAttributes ?

A

On fait :
BasicFileAttributes data = Files.readAttributes(path, BasicFileAttributes.class))

32
Q

Comment obtenir un chemin absolue avec Path ? Et avec un File ?

A

Avec la méthode d’instance File.getAbsolutePath() et avec la méthode d’instance Path.toAbsolutePath()

33
Q

Donne moi la signature de la méthode static java.nio.file.Files.copy

A
  • copy(Path, Path) (on peut ajouter un StandardCopyOption)
  • copy(InputStream, Path) (on peut ajouter un StandardCopyOption)
34
Q

Que fait isSameFile dans son process pour savoir si un fichier est le même qu’un autre

A

É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.

35
Q

Que prends en paramètre la méthode static Files.find ?

A

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

36
Q

La méthode static Files.isSameFile suit il les liens symboliques par défaut ?

A

Oui