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

Langage Java Discussion :

Traitement evenementiel des fichiers en Java


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut Traitement evenementiel des fichiers en Java
    Salut,

    Ma question est toute simple et je souhaite trouver parmi vouis al reponse que j'attendais et les conseils qui vont avec.
    En effet je voulais savoir si Java me permet de traiter des fichiers en utilisant un Time/TimerTask ou toute autre alternative.
    Ce que je cherche à faire c'est de mettre en place un client applicatif en java qui déclenche un traitement donné lors de la présence d'un fichier dans un path donné, (ce fichier est en effet reçu par ftp ) . Donc l'applicatif doit être à l'écoute en pointant sur ce path et déclenche un traitement lors de la réception d'un nouveau fichier.

    Merci

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 575
    Points : 15 546
    Points
    15 546
    Par défaut
    C'est en effet facilement réalisable via les classes Timer/TimerTask:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            timer = new Timer(DEMON);
            timer.scheduleAtFixedRate(new TimerTask() {
                public void run() {
                    if (FICHIER_A_TEST.exists()) {
                        traitefichier();
                    }
                }
            }, 0, DELAY);
    Si DEMON ne vaut pas true, alors l'application ne se terminera pas tant que le timer sera actif.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut
    Merci pour ta réponse ,

    cependant j'ai une petite question: la tu suppose l'existence d'un seul fichier , mais comment fais tu pour déclencher ton traitement des qu'un fichier, n'importe lequel est ajouté dans le path?

  4. #4
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 575
    Points : 15 546
    Points
    15 546
    Par défaut
    Alors il faudra que tu listes tous le fichiers dans le path et que tu vérifie toute cette liste

  5. #5
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut
    Pas moyen de recuperer uniquement le dernier ajouté sans passer par al date de creation ou autre par exemple?

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par KING_OF_GRACELAND Voir le message
    Pas moyen de recuperer uniquement le dernier ajouté sans passer par al date de creation ou autre par exemple?
    Non.
    Par contre, s'il n'y a pas de suppression, tu peux simplement tester si le nombre de fichiers augmente dans ce répertoire.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut
    Je vois !
    donc ce que tu suggeres c'est de tester si le nombre augmente par exemple et si c'est el cas alors prendre el dernier fichier selon la date de creation ,, c'est bien ça?

  8. #8
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 575
    Points : 15 546
    Points
    15 546
    Par défaut
    Attention! Si on procède comme ça, il y a le risque que l'on aie une création et une suppression dans un délai assez bref pour passer inaperçu entre deux scans.

  9. #9
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut
    j'ai al gurantie qu'aucun fichier en sera supprimé , il n'y aura que des ajouts

  10. #10
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Dans ce cas, tu peux effectivement tester le nombre de fichiers.

    Mais encore une fois, attention :
    si deux fichiers sont ajoutés entre deux scans, il ne faut pas que tu prennes le dernier uniquement ;
    la notion de "dernier fichier ajouté" n'existe pas en java. Quand tu auras détecté qu'un fichier est ajouté, il faudra donc de toute façon que tu compares la nouvelle liste à une que tu gardes en mémoire pour savoir quel(s) fichier(s) a été ajouté ;

  11. #11
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 575
    Points : 15 546
    Points
    15 546
    Par défaut
    Dans ce cas là si personne ne s'amuse avec la date, ça devrait marcher en effet. Quoique il reste un léger risque que deux fichiers arrivent à la même date.

  12. #12
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 60
    Points
    60
    Par défaut
    Bah dans ce cas je vais les prendre dans un ensemble et traiter l'ensemble fichier par fichier pas el choix je crois!

Discussions similaires

  1. Ouvrir des fichier avec Java
    Par mr-nameless dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 07/10/2009, 04h16
  2. etbalir une arborescence des fichiers avec java
    Par groupe dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/03/2008, 02h02
  3. lecture des fichiers en java
    Par midou84 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 04/03/2008, 14h06
  4. Réponses: 8
    Dernier message: 14/09/2006, 16h43

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