Sortir proprement qd on liste un répertoire et que celui ci est vide

Résolu
q_113 Messages postés 8 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 19 décembre 2007 - 19 déc. 2007 à 11:50
q_113 Messages postés 8 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 19 décembre 2007 - 19 déc. 2007 à 14:32
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

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
19 déc. 2007 à 14:01
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 {
...
}
3
q_113 Messages postés 8 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 19 décembre 2007
19 déc. 2007 à 14:32
super merci de ton aide ....
0
Rejoignez-nous