COMMENT LISTER L'ARBORESCENCE DES DISQUE DUR DANS UN JTREE

cs_colo Messages postés 3 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 5 juillet 2003 - 5 juil. 2003 à 00:00
mouna310 Messages postés 37 Date d'inscription vendredi 23 janvier 2015 Statut Membre Dernière intervention 3 mai 2015 - 24 févr. 2015 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15609-comment-lister-l-arborescence-des-disque-dur-dans-un-jtree

mouna310 Messages postés 37 Date d'inscription vendredi 23 janvier 2015 Statut Membre Dernière intervention 3 mai 2015
24 févr. 2015 à 17:31
comment lister COMMENT LISTER L'ARBORESCENCE de openldap DANS UN JTREE aidez moi svp
cs_benoure Messages postés 10 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 mai 2013
15 juin 2011 à 16:50
Salut cool le code mais il manque la partie droite !!
msidne Messages postés 3 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 7 décembre 2010
1 juin 2010 à 11:43
Bonjour à tous,
c une trés bonne arbre,
svp comment changer le code pour utilise ce tree dans jsp file,je suis debutant en JSP Et J2EE , svp repond moi, j'ai que 2 weeks pour finir mon projet.

merci beaucoup.
nadimlegend Messages postés 9 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 27 mars 2009
14 févr. 2009 à 14:14
svp comment faire l'appel à ce code pour l'appliquer à un nouvel jtree????
je vous jure que je suis coincé là :(
merci d'avance
ptichef1 Messages postés 3 Date d'inscription dimanche 30 novembre 2008 Statut Membre Dernière intervention 16 mars 2009
11 févr. 2009 à 16:56
merci bcp
bravoooooo!!!!
danyboy85 Messages postés 5 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 3 octobre 2011
1 avril 2008 à 17:54
Ne pas lire le mot "Car" sur mon post précédent pour avoir une phrase francaise. Désolé.
danyboy85 Messages postés 5 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 3 octobre 2011
1 avril 2008 à 17:52
Bonjour à tous,

Car sur mon PC d'entreprise j'ai une dizaine de lecteurs réseau et là, ca rame à mort ce qui est normal étant donné qu le programme parcourir tous les répertoires de tous les lecteurs. Est-il possible de les zapper et de ne gérer que les lecteurs locaux ?

Merci d'avance
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
12 juin 2007 à 20:52
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 "/"
gbordet Messages postés 2 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 11 juin 2007
11 juin 2007 à 22:51
Ca y est, ca marche ... Donc pour linux :
Dans le constructeur, il faut enlever la boucle... je m'explique :

private File[] _roots; ----> devient ---> private File _roots;
_roots File.listRoots(); ----> devient ---> _roots new File("/home/"); (dans mon cas)
et ensuite on vire la boucle For qui est dans le constructeur (on en touche pas à celle dans la méthode)

Et chez moi, ca marche enfin ^^
Voila, merci pour tout !
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
11 juin 2007 à 16:27
essai en changeant ca :
for (int i = 1 ; i<_roots.length ; i++)
en
for (int i = 0 ; i<_roots.length ; i++)

sous linux tu n'as qu'une seule racine... sous windows c'etait pour zapper le lecteur de disquette
gbordet Messages postés 2 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 11 juin 2007
11 juin 2007 à 16:22
Salut Yenapa
Je ne sais pas si tu fais encore un peu le support ici, mais je n'arrive pas a voir d'arborescence sous Kubuntu... Je Galere un peu ^^

En fait, je ne comprend pas ou est ce que ca differe entre Windows et Linux dans la recherche des répertoires...

Merci d'avance ^^
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
16 févr. 2007 à 21:49
^^ bien joué, un an jour pour jour apres
moh___SBA Messages postés 5 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 18 avril 2007
16 févr. 2007 à 12:07
Votre programme fonctionne bien
bon courage
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
16 févr. 2006 à 18:14
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 "/"
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
16 févr. 2006 à 18:02
c la meme chose
pseudal Messages postés 12 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 10 mars 2006
16 févr. 2006 à 17:52
Et sous linux on fait comment ???
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
8 juin 2005 à 16:23
je suis arriver a mettre que les dd mais je voudrais si ca te derange pas que tu m'explique comment fonctionne ta fonction stp
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
8 juin 2005 à 16:23
je suis arriver a mettre que les dd mais je voudrais si ca te derange pas que tu m'explique comment fonctionne ta fonction stp
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
8 juin 2005 à 16:06
je voudrais savoir comment ta fonction getSubDirs() peut marche?!
tu pourrai pas l'expliquer un peut mieu stp
car je voudrais arriver a modifier la fonction pour qu'elle n'affiche pour l'instant que les disque dur et poue ensuite ajouter des actionlistener pour ne montre que les sous dossier
dont on a besoin d'afficher.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
6 mai 2005 à 19:40
merci bcp
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
5 mai 2005 à 21:18
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.
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
5 mai 2005 à 17:41
moi g un autre probleme :
je voudrais que les fichier soit afficher et pas que les dossier
je me doute que le code a modifier est la :
for (int j = 1; j < list.length; j++) {
DefaultMutableTreeNode file = null;
if (list[j].isDirectory()) {
file = getSubDirs(list[j]);
racine.add(file);
mais je sais pas quoi ajouter
vs avez pas une idee ?
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
5 mai 2005 à 16:35
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
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
5 mai 2005 à 16:19
ya qu'un default le temps de lancement du programe
sinon c vraiment bien et il est vrai que les JTree sont pas tres documenter
cs_CornFlaks Messages postés 2 Date d'inscription mardi 4 mars 2003 Statut Membre Dernière intervention 31 janvier 2005
31 janv. 2005 à 19:33
// pour chaque lecteur
for (int i = 1 ; i<_roots.length ; i++)

tu peux retirer la boucle pour ne recuperer qu'un seul lecteur ou "i" représente le lecteur choisit. 0 -> A: / 1 -> C: / 2 -> D: etc...
babou6a Messages postés 27 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 14 octobre 2008 2
1 déc. 2004 à 19:26
Merci beaucoup beaucoup ! j'ai reussi !
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
30 nov. 2004 à 19:25
new File("c:/monrep")
babou6a Messages postés 27 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 14 octobre 2008 2
30 nov. 2004 à 18:54
c super sympa mais j'ai encore quelques hesitation : l' "Objet file qui pointe vers ou tu veux" comment je fais ?
J'ai crée un File :
File courant = new File("Arborescence");
Mais je ne sais pas comment lui dire de pointer sur le repertoire que je veux ! :-)
Merci
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
29 nov. 2004 à 19:55
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.
babou6a Messages postés 27 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 14 octobre 2008 2
29 nov. 2004 à 19:39
oui mais ou ? je comprend comment faire mais je ne vois pas trop comment !
Merci
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
27 nov. 2004 à 13:38
euh essayes un getSubDirs sur "." ou sinon tu met le chemin que tu veux
babou6a Messages postés 27 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 14 octobre 2008 2
27 nov. 2004 à 12:41
Bonjour,
Ce code est vraiment super clair et bien expliqué !! bravo !
J'ai juste une petite question : listRoots() te permet de partir de "tout en haut de la hierarchie" ... comment peut on faire pour lui dire de partir du repertoire courant par exemple ?
Merci beaucoup !
cs_DbM Messages postés 4 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 27 novembre 2004
13 oct. 2004 à 11:44
Franchement super ce code, au moins là je commence à comprendre comment marchent les JTree ^^
Un grand merci à toi !
cs_eio Messages postés 30 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 18 juin 2011
21 août 2004 à 17:15
Félicitation pour ce code. C'est pas que les autres sources sur le sujet ne sont pas bonnes, au contraire, mais la tienne est claire, simple et très légère. Pour quelqu'un comme moi qui commence avec les JTree, c'est A++++ parce que j'y vais étape par étape.
cs_vin100time Messages postés 2 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 29 septembre 2004
23 juil. 2004 à 11:37
ben écoute, je sais pas pourquoi, mais chez moi, quand je teste ton code, mon ordi rame, c'est tout ce que se passe, rien ne s'affiche. Si quelqu'un a une idée?
cs_noname Messages postés 2 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 12 juillet 2004
12 juil. 2004 à 08:28
Très bon exemple d'utilisation d'un jTree. Bravo!

geoloft -> si jamais, tu peux réutiliser le même code dans ton applet (en utilisant bien sur le JRE de Sun, ainsi que son plugin pour ton navigateur favori). Un petit détail, il faut aussi que les gens qui accèdent à ton applet via le web aient aussi ce plugin de Sun installé autrement, la librairie SWING ne sera pas prise en charge.
cs_UNi Messages postés 35 Date d'inscription vendredi 15 février 2002 Statut Membre Dernière intervention 27 avril 2009
20 nov. 2003 à 15:55
excellent merci !!

meme si ca rame un peu c vachement bien ca va me permettre de comprendre les JTREE
cs_Yenapa Messages postés 67 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 26 juin 2009
17 nov. 2003 à 09:09
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
geoloft Messages postés 1 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 6 novembre 2003
6 nov. 2003 à 10:47
Bonjour et merci pour ce source.

Là je sens que je vais devenir pénible : est il possible d'avoir le même exemple sous forme d'Applet ?

Pourquoi ? parce que je suis tout nouveau dans le Java et que je rame comme un fou. J'ai déjà essayé de le faire mais franchement j'ai pas de succès.

D'avance merci.
cs_genius83 Messages postés 1 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 31 août 2003
31 août 2003 à 12:42
C super ! Merci pour ton aide. J'essaierai et j'apporterai des remarks later.
erfandis42 Messages postés 7 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 17 juillet 2003
21 juil. 2003 à 15:26
C bon !!! En faite, c'était juste un probleme de portée de variable :op
Ne te tracasse po, ma variable dans laquel y'avait le modele du Jtree etait local à ma fonction, ca marchai po au debut, alors je l'avais redéclaré en général hihihi, alors qu'il y avait rien dedans.... lol
C'était donc normal qu'il ne m'affiche rien !!! :op
Encore desolé de t'avoir dérangé... bon code !
erfandis42 Messages postés 7 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 17 juillet 2003
21 juil. 2003 à 15:07
Bon, alors j'arrive à faire mon noeud racine, à lui rajouter des fils (enfin je pense), mais au lieu de m'afficher mon arbre, il m'affiche plus rien !!!! (enfin c mieu que de m'afficher leur arbre exemple tout pouris, ki s'affiche meme quant tu as rien coder derriere...loul) Je comprend plus rien !!!!
erfandis42 Messages postés 7 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 17 juillet 2003
21 juil. 2003 à 15:01
Ta source ma bcp aidé a comprendre mais je nage tjrs...
chuis noob sur java, et les tuto que j'ai vu sur le JTree sont pas clair du tout pour moi, deplus j'utilise Sun one, et pour ce composant c vraiment mal foutu !!! Tu pourrai me donner un exemple tout con, pour la création d'un arbre a afficher, avec des trucs bidons !?
cs_colo Messages postés 3 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 5 juillet 2003
5 juil. 2003 à 00:00
une petite correction : for (int j = 0 ; j < list.length ; j++)
^^
Voila sinon tout marche bien. :)
Rejoignez-nous