Analyse de la chaîne de caractères donnée par WebRequestMethods.Ftp.ListDirector
jsvb6
Messages postés7Date d'inscriptiondimanche 15 avril 2007StatutMembreDernière intervention26 novembre 2009
-
19 oct. 2008 à 01:42
bizzard4
Messages postés155Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention15 février 2009
-
19 oct. 2008 à 17:43
Bonjour,
Afin de parcourir tous les dossiers et fichiers d’un répertoire ftp, j’utilise :
…
FtpWebRequest l_fwrq_Requete;
…
l_fwrq_Requete.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
…
Cela me permet de récupérer un tableau de string où chaque élement représente les informations détaillées d’un fichier ou d’un dossier. Cela donne par exemple :
"-rw-r----- 1 19768 apache 82944 Oct 18 18:06 Aide1.doc"
"-rw-r----- 1 19768 apache 76288 Oct 18 18:07 Aide2.doc"
En « parsant » chaque élément, j’arrive un faire un parcours récursif me permettant de lister tous fichiers inclus dans le répertoire initial et ses sous répertoires ainsi que la taille de ces fichiers. Seulement, je « parse » ces éléments à l’aide de substring : Substring(32, 11) pour la taille du fichier, Substring(56) pour le nom du fichier ou du répertoire, Substring(0, 1) pour savoir s’il s’agit d’un fichier ou d’un répertoire.
Cela marche avec mon ftp sur ifrance, mais cela marcherait-il avec d’autres serveurs ftp ? Y-a-il une norme permettant d’envisager une analyse de ces éléments marchant à tous les coups ?
bizzard4
Messages postés155Date d'inscriptionvendredi 12 décembre 2003StatutMembreDernière intervention15 février 2009 19 oct. 2008 à 17:43
Bonjour
Le protocole FTP est une norme. Donc, si un serveur utilise FTP c'est qu'il utilise le protocole normalisé FTP donc que les retours sont pareilles et que les discutions entre le client et le serveur sont les mêmes. De plus, la classe que tu utilise pour lire le FTP vient du .NET donc elle est probablement générique et devrait te retourner les mêmes informations peut importe le serveur.
Mais le mieux que tu peus faire, c'est de tester sur un autre FTP.