L'itération sur les fichiers dans un dossier avec des dossiers imbriqués - Cacao
J'ai besoin d'accéder à tous les fichiers dans un dossier, y compris les fichiers qui existent dans les dossiers imbriqués. Un exemple de dossier pourrait ressembler à ceci.
animals/
-k.txt
-d.jpg
cat/
-r.txt
-z.jpg
tiger/
-a.jpg
-p.pdf
dog/
-n.txt
-f.jpg
-p.pdf
Dire que je voulais lancer un processus sur chaque fichier dans "animaux" qui n'est pas le dossier. Quelle serait la meilleure façon de parcourir le dossier "animaux" et de tous ses sous-dossiers pour l'accès à chaque fichier?
Grâce.
- Fonction récursive qui s'appelle elle-même pour chaque dossier et recherche le fichier
Vous devez vous connecter pour publier un commentaire.
Utilisation
NSDirectoryEnumerator
récursive de l'énumération des fichiers et répertoires sous le répertoire que vous voulez, et demandez-lui de vous dire qu'il s'agit d'un fichier ou d'un répertoire. La liste suivante est basée sur l'exemple figurant à la documentation de-[NSFileManager enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:]
:Peut-être vous pouvez utiliser quelque chose comme ceci:
Ici est une swift version:
Ce code a fonctionné pour moi.
Voici une solution à l'aide de
-subpathsOfDirectoryAtPath:rootPath
, avec des Url de fichiers et moderne Objective-C la possibilité de valeur null cloches & sifflets.... et même dans Swift: