begin process at 2012 02 11 07:09:41
  Trouver un code source :
 
dans
 

9 commentaire(s) de Yenapa sur des sources sur tout CodeS-SourceS

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

Salut

Tout a fait ca

Sous windows, il y a plusieurs "racines" (a:, b:, c:, d: .....). On ne peut pas les deduire par nous meme, sauf en les testant une par une, donc il faut faire appel a la methode listRoots().
En revanche sous linux, il n'existe qu'une seule racine.
Au lieu d'avoir une boucle qui parcours un tableau des File 'racines' (sous windows), on a qu'un seul objet File racine tel que racine = new File("/");
Cependant, j'aurai cru que sous linux la methode listRoots aurai retourné un tableau contenant seulement un objet file, correspondant a "/"

Posté le : 12/06/2007 20:52:57

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

^^ bien joué, un an jour pour jour apres
Posté le : 16/02/2007 21:49:04

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

GetSubDirs crée un objet DefaultMutableTreeNode (que j'appelerai d apres) pour un dossier (que j'appelerai dir)

pour chaque dossier de dir, on appele recursivement la methode GetSubDirs, et on ajoute le resultat a d.
Pareil pour les fichiers il me semble (ca date et j'ai la flemme de me replonger dedans)

Pour linux, t'a pas besoin de trouver les lecteurs racines, etant donné que la racine de l'arborescence est "/"


Posté le : 16/02/2006 18:14:18

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

Modifie dans la methode getSubDirs

if (list[j].isDirectory())
                {   file = getSubDirs(list[j]);
                    racine.add(file);
                }

en

                    file = getSubDirs(list[j]);
                    racine.add(file);
                
C'est la condition if (list[j].isDirectory()) qui fait que les fichiers sont ignorés.
Posté le : 05/05/2005 21:18:00

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

Ouai c clair
L'ideal serais de ne parcourir un dossier que si il y a besoin..
Je n'ai pas reussi, ca buggait avec les petits plus qu'il y a coté du dossier.
Et puis g abandonné ce programme... mais l'idée peut encore servir
Posté le : 05/05/2005 16:35:18

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

Comme ca:

Tu remplace:
// pour chaque lecteur
        for (int i = 1 ; i<_roots.length ; i++)
        {
            // on recupère son contenu grace a getSubDirs
            DefaultMutableTreeNode root = getSubDirs(_roots[i]);
            // et on l ajoute a notre premier noeud
            racine.add(root);
            
        }

par
racine = getSubDirs(Objet file qui pointe vers ou tu veux)

Et puis remplace
DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Poste de travail",true);

par
DefaultMutableTreeNode racine; (c pas la peine de l'initialiser par "poste de travail" vu que ce sera remplacé apres...)

G pas testé mais bon, c un truc comme ca.
Posté le : 29/11/2004 19:55:54

Déposé sur Comment lister l'arborescence des disque dur dans un jtree

C bien mais c un peu lent ton truc...
Y'a pas moyen de l'accelerer par exemple en parcourant un sous-dossier seulement quand on en a besoin? J'ai essayé mais certains dossier n'apparaissent parfois pas dans le JTree et d'autres apparaissent parfois 2 fois ou plus...

Merci
Posté le : 17/11/2003 09:09:12

Déposé sur Arborescence du disque dur avec jtree

Le probleme de ton algorithme, c'est qu'il est recursif. Ca prends un temps enorme sur un gros disque dur (voire pire, sur un disque reseau)!
Pourquoi ne pas regler ce probleme en ne cherchant les sous-dossier d'un dossier que quand on en a besoin?
En plus, si tu insere un CD apres la recherche des dossiers, il ne sera pas vu. De meme si tu crée un dossier.

Bon courage! ;-)

Posté le : 14/10/2003 20:46:44

Déposé sur Arborescence du disque dur avec jtree

Peut etre qu'en testant si le lecteur est accessible ... (methode canRead() sur un objet File) ?
Posté le : 12/10/2003 13:45:37

1


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales