Sortir proprement qd on liste un répertoire et que celui ci est vide [Résolu]

Signaler
Messages postés
8
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
19 décembre 2007
-
Messages postés
8
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
19 décembre 2007
-
Bonjour,

Je liste un répertoire comme ceci :

File dir = new File("C:\\Doc");
String [] children = dir.list();
 if (children == null) {
            System.out.println("Pas de fichiers à lire");
 } else {
par contre meme si mon repertoire contient aucun fichier la condition "else" est executée.
Si dans else je demande l'affichage de children avec aucun fichier dans le repertoire Doc j'ai " [Ljava.lang.String;@a90563" donc children n'est pas null et la condition "else" sera toujours executer.

Donc ma question c'est comment faire pour que children soit égale à null si il y a aucun fichier dans le répertoire ??

merci de votre aide

2 réponses

Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
La raison est que list() te renvoie un tableau (qui a une adresse mémoire non nulle), mais que ce tableau est vide.
Il faut non pas tester l'adresse du tableau mais sa taille :
if (children.length == 0) {
...
} else {
...
}
Messages postés
8
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
19 décembre 2007

super merci de ton aide ....