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 :

Mettre une date en context dans le nom d'un fichier


Sujet :

Développement de jobs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Par défaut Mettre une date en context dans le nom d'un fichier
    Bonjour,

    J'ai un job qui crée un fichier et il à 3 context :
    context.depot = repertoire du fichier
    context.Nom_fichier = nom du fichier
    context.Date = date de création du fichier

    Le nom de ce fichier est composer du nom + de la date de création du fichier.
    En ce qui concerne le repertoire et le nom c'est en context et c'est ok, là ou je coince c'est au niveau de la date.
    J'ai crée un context.date mais quand j'exécute avec les autres context il plante le job.

    mon context.date est sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",TalendDate.getCurrentDate());
    Ce que je souhaite obtenir c'est un nom de fichier sous ce format :
    Nom_fichier_date-creation-fichier par exemple Fichier_client_2015/12/01-14:44:06:540.XML Nom : Capture_context.PNG
Affichages : 1351
Taille : 11,7 Ko

    Quand j'enlève le context.Date de nom de fichier, mon fichier se crée bien avec le nom désigné et dans le répertoire fixé.

    j'ai suivi cette question http://www.developpez.net/forums/d75...r-nom-fichier/car c'est la même problématique mais ça marche pas.

    en effet en faisant context.depot+context.Nom_fichier + (TalendDate.getDate("CCYY-MM-DD")) +".XML" donc avec ce format ("CCYY-MM-DD") ça marche mais avec celui ci "yyyy-MM-dd'T'HH:mm:ss.SSS" j'ai le message ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Exception in component tFileOutputXML_1
    java.io.FileNotFoundException: C:\Users\XXXX.RRR\Downloads\Pays\Depot\Fichier_client_2015-12-02T14:55:47.801.XML (La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte)
    	at java.io.FileOutputStream.open(Native Method)

  2. #2
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Hello,

    Remplace context.Date dans le nom du fichier par TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",context.Date);

  3. #3
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.getDate("CCYY-MM-DD")
    C'est pas un pattern valide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.getDate("yyyy-MM-dd")

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Par défaut
    Hello,

    Remplace context.Date dans le nom du fichier par TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",context.Date);
    Je l'avais essayer mais j'avais comme erreur : la methode formartDate(String,date) du type TalendDate ne s'applique pas aux arguments (String,String).

    Mon context étant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",TalendDate.getCurrentDate());
    et j'ai aussi essayer avec le getDate à la place du currentDate .


    Pour le format ci-dessous j'ignorais mais ça marchait.Merci

    TalendDate.getDate("CCYY-MM-DD")C'est pas un pattern valide

    TalendDate.getDate("yyyy-MM-dd")
    Le fait d'inclure mon context.Date dans le nom du fichier plante, pourtant quand je met cette syntaxe ..+context.Nom_Fichier+TalendDate.getDate("yyyy-MM-dd")+...

    là ça marche, mais uniquement avec ce fformat de date ("yyyy-MM-dd") .Quand j'ajoute le temps KO.

  5. #5
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Citation Envoyé par mano_bi Voir le message
    Le fait d'inclure mon context.Date dans le nom du fichier plante, pourtant quand je met cette syntaxe ..+context.Nom_Fichier+TalendDate.getDate("yyyy-MM-dd")+...

    là ça marche, mais uniquement avec ce fformat de date ("yyyy-MM-dd") .Quand j'ajoute le temps KO.
    Le format de date dans le context sert uniquement à initialiser ton context ! Comme ça il peut l'interpréter !

    Après si tu veut la formatter

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.formatDate("TonPattern",context.Date)

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Par défaut
    Le format de date dans le context sert uniquement à initialiser ton context ! Comme ça il peut l'interpréter !

    Après si tu veut la formatter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TalendDate.formatDate("TonPattern",context.Date)
    Ou je mis prend mal (ce qui est possible) , mais cette solution ne marche pas.

    Mon context que ce soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",TalendDate.getCurrentDate())
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",TalendDate.getDate())
    ou même
    Associer à la syntaxe ci-contre : TalendDate.formatDate("TonPattern",context.Date)

    ce qui donnerais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TalendDate.formatDate("yyyy-MM-dd'T'HH:mm:ss.SSS",context.Date);
    ne marche pas aussi.

    la seule syntaxe qui fonctionne dans le champ de "nom de fichier" est : ...+TalendDate.getDate("yyyy-MM-dd") +".XML"

    le souci viens du pattern temps (HH:mm:ss.SSS) .

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

Discussions similaires

  1. [XL-2013] Mettre une date de modification dans une feuille.
    Par swayly dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/09/2013, 11h55
  2. mettre la date du jour dans un nom de fichier
    Par oudin.charles dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 10/06/2009, 16h39
  3. Rechercher une chaine de caractères dans le nom d'un fichier
    Par meuah dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2008, 17h54
  4. Réponses: 7
    Dernier message: 02/05/2007, 12h17
  5. Mettre une date par defaut dans une textBox.
    Par yaumme dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/12/2005, 22h39

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