IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Lister les noms de fichiers présents dans un dossier FTP


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut Lister les noms de fichiers présents dans un dossier FTP
    Bonjour,

    Comme le titre l'indique je voudrais lister les fichiers contenus dans un répertoire situé sur un serveur FTP.

    J'utilise org.apache.commons.net.ftp.*

    Connexion : pas de problème.
    Ensuite je déclare un String nommé dir, qui définit le dossier pour lequel je veux lister les fichiers.
    Après j'utilise FTPFile[] files = ftp.listFiles(dir); pour récupérer tous les fichiers.
    Et enfin pour l'affichage, je fais : String filename = files[i].getName(); et j'affiche.

    Mon problème c'est que je récupère plus que le nom de fichier.
    Par exemple, là où je devrais avoir :
    CTX04501.DBF
    j'obtiens
    év 2008 CTX04501.DBF
    qui contient un morceau de la date de création du fichier.

    Je ne comprends pas, qu'est ce que j'ai mal fait ?

    Merci d'avance pour toute aide.

  2. #2
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Quel est le serveur FTP ? Renvoie-t-il les listes de façon compatible avec ce que sait analyser FTPClient ?

    Tu trouveras diverses infos sur ce sujet aux javadocs de FTPClientConfig et FTPClient.

    À moins que ton problème ne vienne d'autre chose.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Salut gifffftane, merci de t'intéresser à mon problème

    Alors le serveur est un serveur AIX (Linux / Ibm).

    par contre pour ta question : "Renvoie-t-il les listes de façon compatible avec ce que sait analyser FTPClient ?", je n'en trouve pas la réponse :-(

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Le mieux est je pense de faire un LIST depuis un client FTP banal (ftp, par exemple), de regarder ce qu'il affiche, et de comparer avec un serveur FTP banal (proftpd par ex.).

    Ou aussi plus directement tu actives ton programme sur un serveur FTP banal ; si le list que tu produis est bon, c'est que la piste que je te propose est bonne.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    J'utilise FileZilla en tant que client FTP et il me liste correctement les fichiers que je suis censé voir.
    En essayant de faire de même en JAVA, j'obtiens exactement le même nombre de fichiers voulu, à part qu'en faisant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FTPFile[] files = ftp.listFiles(dir);
    for (int i=0; i<files.length;i++) {                
    String filename = files[i].getName();
    System.out.println(filename);     
    }
    Au lieu d'obtenir simplement le nom de fichier, comme par exemple

    CTX04501.DBF

    j'obtiens ça

    év 2008 CTX04501.DBF

    un peu comme si le GetName() n'arrivait pas à reconnaître le nom de fichier.
    "év 2008" c'est en fait la fin de la date !

    En faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String filename = files[i].toString();
    j'obtiens :

    -rw-r----- 1 mado grokoli 894 14 fév 2008 CTX04501.DBF

    ce qui est tout à fait correct...


    J'avoue ne pas comprendre ce que tu voudrais que je teste.

    Merci de ton temps

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Comme c'est du français, as-tu fait, comme il est suggéré sur le javadoc de FTPClientConfig, la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        FTPClient f=FTPClient();
        FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
        conf.setServerLanguageCode("fr");
        f.configure(conf);
        f.connect(server);
        f.login(username, password);
        FTPFile[] files = listFiles(directory);
    ?
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Salut gifffftane,

    J'ai essayé ce que tu m'as proposé et en rajoutant deux lignes de configurations concernant la date et l'heure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    conf.setDefaultDateFormatStr("d MMM yyyy");
    conf.setRecentDateFormatStr("d MMM HH:mm");
    (attention "Str" à la fin contrairement à ce qui est indiqué dans la doc)

    ça fonctionne correctement.

    J'avais aussi récupéré une version bizarre de la librairie org.apache.commons.net.ftp.* ; avec la 1.4 cela fonctionne.

    Je te remercie pour ta patience et ton temps.

    bien cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/03/2014, 10h03
  2. Réponses: 2
    Dernier message: 29/03/2010, 11h12
  3. Récupérer les noms de fichiers situé dans un dossier
    Par Leelith dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/08/2009, 17h34
  4. Réponses: 2
    Dernier message: 16/06/2009, 16h04
  5. importer les noms de fichiers html dans une table access
    Par abane badis dans le forum Access
    Réponses: 3
    Dernier message: 14/11/2005, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo