J'ai actuellement une application qui sélectionne les fichiers d'un répertoire. ce que je veux faire est d'avoir une fonctionnalité où vous pouvez mettre dans une extension de fichier tels que .gif
, .txt
etc .. et après un clic sur un bouton l'application va parcourir le répertoire et trouver et sélectionner tous les fichiers de ce type . Le seul code que je dois montrer est celui de mon application actuelle qui n'a rien de tout cela. Espérait un point dans la bonne direction ou un conseil.Filtrage et sélection de fichiers à partir d'un répertoire
Répondre
private List<File> getMatchingFiles(File parent, final String extension) {
File[] files = parent.listFiles(new FileFilter() {
public boolean accept(File dir) {
String name = dir.getName();
if(name.endsWith(extension)) {
return true;
}
}
});
List<File> retval = Arrays.asList(files);
return retval;
}
Bon Un +1 pour la réponse –
maintenant je peux jeter ceci dans un actionevent et juste ajouter des extensions différentes pour différents types de fichiers? Ce que je vais avoir est un bouton de recherche et quand vous tapez .jpg, par exemple, cela retournera tous les fichiers de ce type? Au fait, merci. – rogerthat
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return (!name.endsWith(".gif")
}
};
Ce que vous cherchez est probablement le java.io.File#list(filter).
edit: Si vous voulez que le système de fichiers rechercher, alors vous devez analyser récursive tous les direcotry:
public static void filter (String dirname, List<File> result) {
try {
for (String f : new File(dirname).list()) {
String filename = dirname + f;
File theFile = new File(filename);
if (theFile.isDirectory()) {
filter(filename + "/", result);
} else if (new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().endsWith(".gif");
}
}.accept(theFile)) {
result.add(theFile);
}
}
} catch (Exception e) {
// may raise null-pointer when access denied
}
}
public static void main(String[] args) {
List<File> result = new ArrayList<File>();
filter("F:/", result);
System.out.println(result.size());
}
Pour une utilisation dans un JFileChooser
, toutes les réponses jusqu'à présent proposées sont sous-optimaux. Au lieu de mettre en œuvre JFileChooser.setFileFilter(javax.swing.filechooser.FileFilter)
pour la meilleure expérience utilisateur.
Il pourrait finir par quelque chose comme ça :
- image obtenue en utilisant l'aimable autorisation de A Sample FileChooser Program de code.
+1 pour le plus mauvais écran des dinosaures :-) phaaaa brrrrr – mKorbel
@healix pas, jamais, pourquoi réinventer la roue, voici votre réponse et les bonnes manières aussi, pourquoi traverser dans le fichier [] ??? – mKorbel
@mKorbel Celui-ci était une gracieuseté de «mon pote Google». Je naviguais pour 'JFileChooser + FileFilter' et je regardais n'importe quelle image qui avait la liste étendue, puis j'en rejetais une qui était 40Kb (et horrible) et une autre (vraiment gentille) qui était 71Kb et je me contentais de l'image qui était <6.5 Kb (et montré le pointeur de la souris). ;) –
- 1. Java Ouverture et lecture de fichiers à partir d'un répertoire
- 2. Comment créer un répertoire de fichiers et des fichiers contenus à partir d'un tableau de fichiers
- 3. fichiers répertoriés Paging à partir d'un répertoire
- 4. Filtrage des chansons à partir d'autres fichiers musicaux - Android
- 5. lire les fichiers du répertoire et des fichiers de filtre à partir de Java
- 6. jQuery sélection et filtrage des éléments à l'intérieur d'un div
- 7. Sélection des cases à cocher Filtrage
- 8. Formatage de l'organisation et du filtrage des données à partir de fichiers texte
- 9. Obtention de noms de fichiers à partir d'un répertoire
- 10. Comment obtenir les fichiers ftl à partir du répertoire et sous-répertoire
- 11. Sélection aléatoire d'un fichier à partir d'un système de fichiers
- 12. l'identification d'un répertoire à partir d'une liste de fichiers
- 13. Lecture continue de fichiers audio à partir d'un répertoire
- 14. Filtrage LINQ à partir de viewModel et List <>
- 15. Comment créer des fichiers et ouvrir des fichiers à partir d'un sous-répertoire en Python?
- 16. Filtrage Sélection jquery avec .not
- 17. Sélection/Filtrage de collections imbriquées dans L2E
- 18. Filtrage des polices à partir de NSFontPanel?
- 19. Filtrage à partir de 2 collections C#
- 20. php obtenir tous les fichiers à partir d'un répertoire distant
- 21. Créer plusieurs fichiers HTML à partir du répertoire d'images
- 22. Récupérer rapidement des fichiers spécifiques à partir d'un répertoire
- 23. T4Scaffolding - obtenir la liste des fichiers à partir d'un répertoire
- 24. Inclure les fichiers ctags récursivement à partir d'un répertoire
- 25. Exiftool crée plusieurs fichiers JSon à partir d'un seul répertoire
- 26. Télécharger tous les fichiers à partir d'un répertoire
- 27. Java regexp pour le filtrage de fichiers
- 28. Comment récupérer les noms de fichiers et de sous-répertoires à partir d'un répertoire dans C?
- 29. Fermeture de fichiers dans Vim à partir du répertoire et de ses sous-répertoires
- 30. FTP JTree de répertoire et de fichiers
@Bhesh Gurung Je n'ai pas upvote. Je n'ai rien essayé. Je ne sais même pas comment l'aborder. Je sais comment filtrer les fichiers par extension mais pas comment les avoir tous en un seul endroit semblable à une recherche de votre disque dur pour un type de fichier particulier – rogerthat