Question

Question: Comment distinguez-vous entre les répertoires et programmation fichiers réguliers dans le dossier actif

Lorsque vous utilisez AssetManager pour accéder aux fichiers dans le dossier actif, il semble impossible de déterminer si un fichier est en fait un fichier ou un répertoire. Vous obtenez la liste des fichiers à partir de la méthode list puis ouvrez le fichier en utilisant la méthode open. Je pensais que peut-être en utilisant la méthode openFd pour obtenir le descripteur de fichier actif (puis demander ultérieurement le descripteur de fichier normal) me fournir quelques informations. Mais demander le descripteur de fichier pour un résultat d'annuaire dans un IOException (ce qui est logique puisque ce que cela voudrait dire pour un répertoire d'avoir un descripteur de fichier ...?).

À l'heure actuelle, je me fie à ce que IOException (résultant de attemptng pour ouvrir un répertoire dans le dossier des actifs) afin de déterminer si un fichier est en fait un répertoire. (Ouverture d'un fichier régulier fonctionne très bien). Cela semble être une mauvaise idée. Toute autre suggestion de faire la distinction entre un fichier et un répertoire?

Était-ce utile?

La solution

Je suis d'accord avec les commentaires sur votre poste. Mais pour répondre à votre question, faire un objet fichier pointé dans le répertoire des actifs File root = new File("path/to/directory");

Ensuite, vous pouvez extraire tous les fichiers et répertoires sous comme celui-ci File[] files = root.listFiles();

Une fois que vous avez la liste, vous pouvez déterminer ce qui est ce que l'aide File.isDirectory ().

En ce qui concerne la détermination des types de fichiers, qui est aussi simple que l'utilisation String.substring () pour saisir après la dernière période du personnage.

espérons que cette aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top