Salut à tous,
Est-il possible de limiter un listFiles à un certain nombre.
J'ai un répertoire très volumineux et je souhaite que le listFiles ne remonte pas tous mes fichiers mais un nombre défini.
Est-ce possible ?
Merci
Salut à tous,
Est-il possible de limiter un listFiles à un certain nombre.
J'ai un répertoire très volumineux et je souhaite que le listFiles ne remonte pas tous mes fichiers mais un nombre défini.
Est-ce possible ?
Merci
Salut,
Tu peux utiliser les FilenameFilter pour cela :
Que tu utilises comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class CountFilter implements FilenameFilter { private final int max; private int count; public CountFilter(int max) { this.count = 0; this.max = max; } public boolean accept(File dir, String name) { if (count<max) { count++; return true; } return false; } }
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part File[] files = dir.listFiles(new CountFilter(20));
Mais si c'est juste un problème de performances, ça ne va rien changer, ça va tout parcourir, c'est juste que ça ne va pas ajouter à partir d'un certain nombre...
Je suis plutôt d'accord avec ®om, car la méthode accept() est appelée pour chaque fichier afin de vérifier si celui-ci correspond ou non au filtre spécifié (le fait que la méthode accept() renvoie false n'arrête en aucune manière le "listage" des fichiers).Envoyé par iohack
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag :resolu:
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Dans le fond, effectivement ça parait logique. D'ailleurs je vois pas trop comment contourner la chose.
Partager