Recherche d'un repertoire

Résolu
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007 - 22 sept. 2006 à 13:29
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007 - 26 sept. 2006 à 11:50
Salut!
En fait j'ai déjà lu pas-mal de chose sur le forum à ce sujet, et je suis désolé si j'ai raté la réponse à ma question.
Je cherche à répertorier tous les dossier nommé "Mon Dossier" qui pourraient être présents sur mon ordinateur.
La raison pour laquelle je fais ça est en fait pour permettre à des clients néophites de retrouver le chemin du répertoire d'un de mes programmes automatiquement (ou du moins de trouver tous les dossier du bon nom et qu'ils n'aient plus qu'à sélectionner dans une lisge).
Donc, j'utilise la classe Directory et la methode GetDirectories avec la SearchOption.AllDirectories qui permet d'explorer tous les dossier et sous-dossiers.
Problème: certain dossier ne sont pas accessible pour des raisons de droits (par exemple dans le Documents And Settings) et malheureusement, la méthode s'arrête directement et ne continue pas en négligent simplement ce dossier.
Donc, comment faire? méthode récursive avec la méthode GetDirectories dossier par dossier??

Ensuite, j'aimerais stocker les résultats dans une structure données générique. Dans Java j'utilisais:
ArrayList<string> maListe = new ArrayList<String>(10);
et ensuite:
myListe.add("monTest");
Mais dans c# ça n'a pas l'air de marcher...
Comment faut-il faire??

7 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 sept. 2006 à 15:17
il faut ajouter le using suivant :

using System.Collections.Generics;

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 sept. 2006 à 14:44
pour la liste générique, en C#, on fait comme ceci :

List<string> maListe = new List<string>();

pour ton souci des parcours de répertoire, tu n'as pas d'autres choix que de parcourir récurvisement tous les répertoires... (attention, ca peut être très long).

Parmis mes sources, celle-ci fait un parcours de répertoire en asynchrone :
http://www.csharpfr.com/codes/MAFTOOLS-COPIE-SITE-INTERNET-VUE-DEPLOIEMENT_36806.aspx

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007
22 sept. 2006 à 15:15
Ok merci pour le truc des répertoire je vais chercher là-dedans, mais pour le truc de la liste, je sais pas pourquoi mais quand j'entre
List<string> maListe = new List<string>();
et ensuite
par exemple maList. , le menu contextuel n'apparaît pas avec toutes les méthodes possible.
C'est normal??
0
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007
22 sept. 2006 à 15:15
j'utilise Visual Studio 2005 Express Edition si jamais...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007
22 sept. 2006 à 17:48
ok merci ça marche pour les structures de données.

ton code est génial mais les problème c'est qu'il cherche fichier par fichier or, moi je ne veux chercher que les répertoire.

Ca abbrègera peut-être un peu le temps.
Bon je vais mettre une combo-box pour que l'utilisateur sélectionne au moin le lecteur, ça abbrègera.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
26 sept. 2006 à 10:50
dsl... j'ai oublié de répondre...

le fait qu'il recherche les fichiers plutot que les répertoires n'est pas grave... change juste le GetFiles en GetDirectories ;)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007
26 sept. 2006 à 11:50
oui ok.
J'ai réussi avec une méthode récursive faite maison... pas de problème ça marche niquel merci.
0
Rejoignez-nous