Fichier existe et EST un répertoire, mais listFiles() renvoie la valeur null

La documentation de Fichier.listFiles() suggère que null sera restitué UNIQUEMENT dans le cas où le fichier en l'appelant n'est pas un répertoire.

J'ai le texte suivant:

String dir = "/storage/emulated/0";
File f = new File(dir);
Log.v("Files",f.exists()+"");
Log.v("Files",f.isDirectory()+"");
Log.v("Files",f.listFiles()+"");

Le journal indique:

true
true
null

Pour une raison quelconque, listFiles() est de retour null même si le File est reconnu comme l'un répertoire valide. Je ne suis pas super familier avec Android hiérarchie des fichiers de comportement, donc je suppose que le problème est là.

Pour référence, je suis de débogage sur mon Moto X, et les résultats sont les mêmes si le téléphone est branché à mon ordinateur ou pas - je ne crois pas que cela a à faire avec le montage quand il est branché.

  • N'est-il pas un problème d'autorisations? Un utilisateur normal d'avoir accès à dir?
  • avez-vous essayé de mettre un fichier dans ce répertoire? Me semble que ce que la documentation fait suggère qu'il SERA nulle si elle n'est pas un répertoire, mais il serait également retourner la valeur null si il n'y a aucune réelle Fichiers là
  • Eh bien, en Java, Fichier contient les répertoires et il y a des répertoires dans ce dossier.
  • Je l'ai mis dans /sdcard, qui pointe à la même chose, et je pense que est ouvert aux utilisateurs..?, et obtenu les mêmes résultats.
  • Ce n' File#canRead() dites-vous? (Si c'est faux et je suis sûr que c'est, vous obtiendrez null lorsque vous essayez de lire le contenu de la directoy)
  • Je souffre du même problème d'autorisation sauf que je suis l'administrateur de ce PC et je ne suis pas tenter d'accéder à tout spécialement protégées répertoires... je ne comprends pas pourquoi mon programme ne fonctionne pas automatiquement quand je le lance, il devrait liste de fichiers dans son propre répertoire lors de l'exécution...

InformationsquelleAutor Wilson | 2013-12-21