Bonjour,
Voilà j'essaie de réaliser un bout de code pour parcourir l'arborescence de mon système, avec un JTree.
Je l'ai fait récurvivement.
Je voudrai y ajouter les caractéristique suivantes :
- (1) m'affiche que les images dans l'arbre
- (2) et ne pas afficher les fichiers commençant par un point (.nameFile)
Le (1) je pense l'avoir fait, comme je peux avec ``endsWith(".jpg" )" (ou autre type d' image), mais j'arrive pas à faire proprement le (2) (en utilisant ``startsWith(".")".
Je pourrai avoir un conseil sur sa réalisation si possible.
Merci.
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 /** * On parcourt les fichiers filtre si c'est une image au pas * pour la référencer dans l'arbre (arborescence) * @param file * @param rootNode */ public void browserTree(File file, DefaultMutableTreeNode rootNode) {// On parcourt récurcivement l'arborescence File [] files = file.listFiles(); // On liste les fichiers du repertoire ``file" for (int i = 0; i < files.length; i++) { String fileName = files[i].getName();// On récupère le nom du fichier à l'indice i File currentFile = files[i].getAbsoluteFile();//On recupere le fichier par sont chemin complet DefaultMutableTreeNode currentNode = new DefaultMutableTreeNode(fileName);// On cree un nouveau noeud if(!preffixPeriod(currentFile)&& currentFile.isDirectory()) { // On traite que les fichiers commençant sans le point rootNode.add(currentNode); browserTree(currentFile, currentNode); /* if (currentFile.isDirectory()){// On ajoute le nouveau noeud selectionner au noeud Parent(racine) rootNode.add(currentNode); browserTree(currentFile, currentNode); } else{ if( suffixImage(currentFile)){ rootNode.add(currentNode); // Si c'est une image on recupere son chemin complet } }*/ }else{ if( suffixImage(currentFile)){ rootNode.add(currentNode); } } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /** * On verifie que l'on a un fichier qui commence par un point (.nomfichier) * @param file * @return true (vrai) si le fichier comme par un point (dot ,period) */ public boolean preffixPeriod(File file ){ boolean preffixFlag = file.getPath().startsWith("."); // On déterminer le début du fichier return preffixFlag;
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
18
19 } /** * On verifie que l'on a que des fichiers images * @param file * @return */ public boolean suffixImage(File file){ boolean suffixFlag = (file.getPath().endsWith(".jpeg") || file.getPath().endsWith(".jpg") || file.getPath().endsWith(".png") || file.getPath().endsWith(".bmp") || file.getPath().endsWith(".gif") || file.getPath().endsWith(".tiff") || file.getPath().endsWith(".tif") ); // On déterminer extention du fichier image return suffixFlag; }
Partager