Afficher le contenu d'un répertoire
Résolu/Fermé
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
-
21 août 2013 à 16:28
estrellas6 Messages postés 36 Date d'inscription vendredi 26 juillet 2013 Statut Membre Dernière intervention 7 mars 2014 - 21 août 2013 à 20:53
estrellas6 Messages postés 36 Date d'inscription vendredi 26 juillet 2013 Statut Membre Dernière intervention 7 mars 2014 - 21 août 2013 à 20:53
A voir également:
- Afficher le contenu d'un répertoire
- Word a trouvé du contenu illisible - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Afficher mot de passe wifi android - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Afficher appdata - Guide
2 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
21 août 2013 à 19:29
21 août 2013 à 19:29
Si tu affichais le message des Exceptions lorsqu'il y en a, tu sauras peut-être ce que c'est le problème !!
En l'occurrence tu as un NullPointerException sur cette ligne :
En effet "listFiles" renvoie null lorsque le fichier n'est pas un répertoire, il faut donc penser à faire ce test avant de faire ta boucle !
Remarque : l'opérateur == compare uniquement l'instance de deux objets, en aucun cas leur valeur, il n'y a donc aucune chance que ton test getName()=="fichier" renvoie true, en plus tu fais une boucle sur listRoots (c'est à dire sur tous les lecteurs) alors que ta racine c'est le répertoire "D:/fichier" alors ça ne fera pas ce que tu veux...
En l'occurrence tu as un NullPointerException sur cette ligne :
for (File nom : racine.listFiles())
En effet "listFiles" renvoie null lorsque le fichier n'est pas un répertoire, il faut donc penser à faire ce test avant de faire ta boucle !
Remarque : l'opérateur == compare uniquement l'instance de deux objets, en aucun cas leur valeur, il n'y a donc aucune chance que ton test getName()=="fichier" renvoie true, en plus tu fais une boucle sur listRoots (c'est à dire sur tous les lecteurs) alors que ta racine c'est le répertoire "D:/fichier" alors ça ne fera pas ce que tu veux...
public static void display(File path) { System.out.println(path.getAbsolutePath()); if (path.isDirectory()) for (File file : path.listFiles()) display(file); } public static void main(String[] args) { display(new File("D:/fichier")); }
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
21 août 2013 à 19:56
21 août 2013 à 19:56
Pour mon programme le problème été la condition de if c'été
if(nom.getName.equals("fichier")) au lieu if(nom.getName()==("fichier"))
Maintenant avec les deux programmes y a un problème lorsque je veux afficher le contenu de c:/programmes (c'est le program file) le programme ne compile pas juste pour ce dossier
if(nom.getName.equals("fichier")) au lieu if(nom.getName()==("fichier"))
Maintenant avec les deux programmes y a un problème lorsque je veux afficher le contenu de c:/programmes (c'est le program file) le programme ne compile pas juste pour ce dossier
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
21 août 2013 à 20:13
21 août 2013 à 20:13
"Programmes" est un alias pour les francophones mais le vrai nom du répertoire est "Program Files"
estrellas6
Messages postés
36
Date d'inscription
vendredi 26 juillet 2013
Statut
Membre
Dernière intervention
7 mars 2014
21 août 2013 à 20:53
21 août 2013 à 20:53
il a compilé merci :)