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

Développement de jobs Discussion :

Parcours d'un dossier en récupérant les dates de modifications des fichiers


Sujet :

Développement de jobs

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Parcours d'un dossier en récupérant les dates de modifications des fichiers
    Bonjour,

    Je dois parcourir un dossier contenant des fichiers CSV. Chaque fichier contient une série d'enregistrement.
    Le but de l'opération est de rassembler dans un seul et même fichier de sortie, l'ensemble des enregistrements trouvés.
    Pour chaque enregistrement trouvé, je dois ajouter le chemin du fichier CSV dans lequel il a été trouvé ainsi que la date de dernière modification dudit fichier (au format dd/mm/yyyy).

    J'ai réalisé le job qui me permet de faire ce qui m'est demandé à l'exception de la récupération de la date de modification. Comment procéder ?

    Mon job est ainsi fait :

    tFileListe (tFileListe_1) - (Iterate)-> tFileInputDelimited (tFileInfutDelimited_1) - (Main)-> tMap (tMap_1) - (Main) -> tFileOutputDelimited (tFileOutputDelimited_1)

    Dans le tMap, j'utilise ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) pour récupérer le chemin du fichier courrant lu.
    Dans le tFileInputDelimited, le nom du fichier est : ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))

    Pour récupérer la date de modification du fichier, j'ai tenté d'utiliser le mtime d'un tFileProperties placé à l'entrée du tMap mais je n'arrive pas à obtenir de résultat probant.


    1. Est-ce que le tFileProperties est une solution viable ?
    2. Si oui, où/comment dois-je l'utiliser pour pouvoir ajouter la date de modification du fichier courant à chaque enregistrement écrit dans le fichier de sortie ?
    3. Le mtime étant un timeStamp, comment obtenir sa valeur au format dd/mm/yyyy dans mon fichier de sortie ?


    Merci par avance pour votre aide.

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Est-ce que le tFileProperties est une solution viable ?
    Oui, il est fait pour ça.

    Si oui, où/comment dois-je l'utiliser pour pouvoir ajouter la date de modification du fichier courant à chaque enregistrement écrit dans le fichier de sortie ?
    à l'époque voici le schéma que j'ai utilisé : tFileProperties ->tMap->TflowToIterate->Composant qui utilise la variable, par exemple un tJava pour contrôler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(Out.Date);
    Le mtime étant un timeStamp, comment obtenir sa valeur au format dd/mm/yyyy dans mon fichier de sortie ?
    Pour ma part j'ai utilisé le champ mtime_string qui affiche ceci pour un fichier : Thu Apr 18 14:45:06 CEST 2013
    Donc dans le tMap il faut changer le format avec ceci par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.formatDate("dd/MM/yyyy",TalendDate.parseDateLocale("E MMM dd HH:mm:ss yyyy",row4.mtime_string.substring(0, 20)+" "+row4.mtime_string.subSequence(25, 29),"en"))
    Bon courage .

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Merci de vous être penché sur mon problème, j'ai pu ainsi le résoudre.

    Voici comment j'ai procédé :

    Conversion du mtime en Date
    Pourquoi chercher midi à quatorze heure : il suffit de convertir le mtime (de type Long) en Date, et ça marche !
    Nom : Capture.PNG
Affichages : 2897
Taille : 12,3 Ko
    Grace au flux Iterate du composant tFileList, je lis les propriétés de chacun des fichiers a traiter.
    Je stocke dans une variable globale (appelée ici dFileDate), le mtime fourni par le composant tFileProperties.

    Nom : Capture3.PNG
Affichages : 3043
Taille : 19,9 Ko

    Entre tSetGlobalVar_1 et le tFileInputDelimited_1, j'ai utilisé le flux de sortie if dans lequel je teste l'existence de la variable globale dFileDate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Condition = ((Long)globalMap.get("dFileDate"))!=null
    Dans le tmap qui va se charger d'insérer cette date dans chacun des enregistrements en cours, je créé une variable (cabdate) qui convertit la valeur du type Long en type Date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Date((Long)globalMap.get("dFileDate")) .
    Nom : Capture2.PNG
Affichages : 2884
Taille : 8,4 Ko

    Mon tMap contient une autre variable : CABFILE qui contient le chemin complet du fichier que je suis en train de lire.
    J'ajoute ces deux variables du tmap dans le flux de sortie ce qui me permet d'avoir, pour chaque enregistrement lu, la date de modification du fichier et son chemin ce qui était l'objectif à atteindre.

    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/11/2010, 20h40
  2. Réponses: 2
    Dernier message: 19/02/2009, 09h46
  3. Réponses: 2
    Dernier message: 28/11/2007, 21h02
  4. [D7 - Word/PDF] Dates de modification des fichiers
    Par dacid dans le forum Composants VCL
    Réponses: 7
    Dernier message: 09/08/2007, 10h02
  5. Réponses: 4
    Dernier message: 01/08/2007, 17h22

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