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

avec Java Discussion :

Comparer 2 listes


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut Comparer 2 listes
    Bonjour,

    Je tient tous d'abord à préciser que je début en JAVA, et que je n'ai encore rien codé en ce qui concerne mon problème, je recherche juste 1 ou des points de vue différents du mien.

    Je cherche à comparer l'enregistrement dans un fichier (surement txt) du listing d'un répertoire fait le jour j-15 avec une information du type "traité" ou "pas traité", avec celui fait le jour j en récupérant mes infos sur le traitement bien sur.

    Suis pas bien clair là!!! Un exemple s'impose.

    Le jour j-15 le répertoire contenait:
    fichier a
    fichier c
    fichier e
    ...
    J'ai traité a et c donc mon fichier de synthèse contient:
    fichier a traité
    fichier c traité
    fichier e pas traité

    Puis vient le jour j où je n'aimerait pas retraité les fichier a et c, mais en plus mon répertoire contient maintenant:
    fichier a
    fichier b
    fichier c
    fichier d
    fichier e
    ...

    Je tient à préciser que mon répertoire ne peut que s'incrémenter en terme de fichiers, et que b et d sont intercalés à cause du tri alphabétique de l'OS.

    Je pensais donc faire une double boucle imbriquer, assez lourd comme algo. Ne connaissant pas toutes les subtilités de JAVA, je m'en remets à vous pour savoir si une autre méthode est possible.

    d'avance merci

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    C'est effectivement la solution, en java tu masquer l'implémentation de ta deuxième boucle avec la méthode contains(Object o).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(Object o : objects) {
        if(!listeObjetsDejaTraites.contains(o)) {
            // traiter o
        }
    }

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut
    Merci bcp darkxan,
    je vient de me renseigner sur la méthode contains et c'est exactement ce que je recherchais.
    Encore merci. Je marquerais comme résolu une fois le code tapé. Et oui on m'a appris la prudence...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut questions.
    Bonsoir,
    Qu'est ce qui garantit que les nouveaux fichiers ne viendront pas ecraser les fichiers déjà traités (même nom)?
    Qu'est ce qui interdit de renommer les fichiers traités (ex: fichier.txt devient fichier.txt_traite après)? Cela peut eviter de traiter une liste de fichier 'à part'.
    A défaut on pourrait sélectionner les fichiers crées ou modifiés depuis la dernière opération.
    Cordialement,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut
    Bonjour wiztricks, oui c'est une solution de renommer les fichiers déjà traités, mais dans mon cas le répertoire auquel j'accède n'est qu'en écriture pour ne pas endommager les données. De nouvelles données, différentes, sont placés sur ce répertoire à intervale régulier. J'enregistre les résultats de mes traitement dans un autre répertoire.

  6. #6
    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 : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Citation Envoyé par Rodinia Voir le message
    dans mon cas le répertoire auquel j'accède n'est qu'en écriture pour ne pas endommager les données.
    J'ai peur de ne pas comprendre... Un répertoire en "écriture" permet la suppression, le renommage, la modification, etc. (qui sont des écritures). Il n'existe pas (nativement) de mode de protection qui ne permette que de rajouter de nouveaux fichiers dans un répertoire.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Rodinia Voir le message
    Bonjour wiztricks, oui c'est une solution de renommer les fichiers déjà traités, mais dans mon cas le répertoire auquel j'accède n'est qu'en écriture pour ne pas endommager les données. De nouvelles données, différentes, sont placés sur ce répertoire à intervale régulier. J'enregistre les résultats de mes traitement dans un autre répertoire.
    Bonjour,
    Les données sont dans des fichiers et le nom des fichiers sont des meta-données. Mais je comprend que tu ne puisses les changer.

    Comment établis-tu que le fichier toto.txt a déjà été traité?
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Comparer deux listes
    Par timtim2007 dans le forum Prolog
    Réponses: 7
    Dernier message: 07/06/2019, 09h02
  2. comparer une liste de valeur
    Par jfcb92 dans le forum Excel
    Réponses: 4
    Dernier message: 14/11/2007, 08h36
  3. Comparer x listes de x serveurs
    Par MaitrePylos dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2007, 09h58
  4. [C# 2.0] Comparer deux listes
    Par Rodie dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/08/2006, 00h40
  5. Comparer des listes de prix
    Par denisfavre dans le forum Access
    Réponses: 8
    Dernier message: 08/11/2005, 20h11

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