Parcourir les dossiers/fichiers
Bonjour à tous !
Je souhaite parcourir les dossiers/fichiers de mon ordinateur.
Cependant j'ai un problème lorsque le dossier ne peut pas être lu/écrit (quand on a la jolie petite fenètre (sous Windows) qui dit 'Accès refusé')
Voilà le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class ListDossier {
private String s_racine;
public ListDossier (String s_vracine) {
s_racine = s_vracine;
}
public void v_outFileName(String s_dir) {
if (s_dir.equals("")) {
s_dir = s_racine;
}
File F_fichiers = new File(s_dir);
if (F_fichiers.isDirectory()) {
File[] s_fname = F_fichiers.listFiles();
System.out.println(s_dir + "(" + s_fname.length + " fichiers).");
for (int i = 0; i < s_fname.length; i++) {
if (s_fname[i].canWrite() && s_fname[i].exists()) {
v_outFileName(s_fname[i].toString());
}
}
}
}
} |
Voilà ce que Eclipse renvoie :
Citation:
C: (44 fichiers).
Exception in thread "main" java.lang.NullPointerException
at ListDossier.v_outFileName(ListDossier.java:19)
at ListDossier.v_outFileName(ListDossier.java:22)
at MyMain.main(MyMain.java:8)
Sachant que le premier dossier est '%SystemData%' dont je n'ai pas accès.
D'après ce que j'ai pu lire, avec canWrite + canExist on peut prouver que c'est un dossier à accès réduit, mais ça ne veut pas...
[J'ai testé en mettant Program Files et ça fonctionne jusqu'au premier dossier de la même sorte...]
Merci à tous de m'avoir lu, en espérant que le sujet n'a pas déjà été abordé
Bonne journée !