Bonjour,

Voici un code qui liste les racines, les affichent et vérifie qu'elles existent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package tests;
 
import java.io.File;
 
public class Main {
 
	public static void main(String[] args) {
		File[] roots = File.listRoots();
 
		for (int i = 0; i < roots.length; i++) {
			System.out.println(roots[i] + " --> " + roots[i].exists());
		}
	}
}
Sur le PC duquel j'écris (Windows 7), j'obtiens :
C:\ --> true
D:\ --> true
E:\ --> false
F:\ --> true
H:\ --> false
C et D sont deux partitions d'un même disque, E un lecteur DVD, F une clé USB et H un "BD-ROM Drive" (kesako?).

J'ai des résultats semblables sur un autre PC. Le lecteur DVD est marqué "false". En y mettant un disque, ça passe à "true".

Ma question est un peu générale, en gros qu'elle est la règle quant au retour de exists() pour les racines ? Est-ce ce ne sont que les lecteurs CD vides qui renvoient "false" ? Est-ce que d'autres racines peuvent "ne pas exister" ?

Merci d'avance pour vos lumières.