Utilisation de FilenameFilter
J'ai un répertoire:
File dir = new File(MY_PATH);
Je voudrais la liste de tous les fichiers dont le nom est indiqué comme étant des nombres entiers cordes, par exemple, "10", "20".
Je sais que je dois utiliser:
dir.list(FilenameFilter filter);
Comment définir mon FilenameFilter
?
P. S. je veux dire le nom de fichier peut être n'importe quel nombre entier chaîne de caractères, par exemple "10" ou "2000000" ou "3452345". Aucune restriction dans le nombre de chiffres aussi longtemps que le nom de fichier est un nombre entier chaîne de caractères.
source d'informationauteur Leem.fin
Vous devez vous connecter pour publier un commentaire.
Vous devriez remplacer
accept
dans le interfaceFilenameFilter
et assurez-vous que le paramètrename
a uniquement des caractères numériques. Vous pouvez le vérifier en utilisantcorrespond à
:de préférence sous forme d'une instance d'un anonyme intérieur de la classe passsed comme paramètre à Fichier#liste.
par exemple, pour lister uniquement les fichiers se terminant par l'extension
.txt
:Pour répertorier uniquement les fichiers dont les noms de fichiers sont des nombres entiers de 2 chiffres, vous pouvez utiliser les éléments suivants dans l'accepter méthode:
pour un ou plusieurs chiffres:
MODIFIER (comme réponse à @crashprophet commentaire)
Passer d'un ensemble d'extensions de fichiers à la liste
Je le fais aussi:
Depuis Java 8, vous pouvez simplement utiliser une lambda expression pour spécifier votre filtre personnalisé:
Dans l'exemple ci-dessus, seuls les fichiers avec le nom "foo". Utilisez votre propre logique de parcours.