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

Java Discussion :

Parcourir un fichier texte deux fois


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 123
    Par défaut Parcourir un fichier texte deux fois
    Bonjour,
    pouvez vous me dire comment je peux parcourir un fichier deux fois d'une façon optimale ?
    je m'explique par cet exemple :

    pour chaque ligne commençant par 'aaa' je dois chercher l'information 'zaza' dans les lignes commençant par zaza et ayant le meme num 152.
    fichier entrée :
    aaa bbb ccc 152 ppp
    aaa bbb ccc 153 ppp
    aaa bbb ccc 154 ppp
    zaz 152 zaza za za erez
    zaz 153 raya za za erez
    zaz 154 yaya za za erez
    fichier sortie :
    aaa bbb ccc 152 ppp zaza
    voila le code que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    InputStream ips=new FileInputStream(path); 
    			InputStreamReader ipsr=new InputStreamReader(ips);
    			BufferedReader br=new BufferedReader(ipsr);
    			String ligne;
    			while ((ligne=br.readLine())!=null){
    				if(ligne.startsWith("aaa")){
    			//Recupere des information
    		num1 = ligne.substring(12,15);  //152
    					String ligne2 = null;
    					InputStreamReader ipsr2=new InputStreamReader(ips);
    					BufferedReader br2=new BufferedReader(ipsr2);
    					sortie:
    					while((ligne2 = br2.readLine())!=null){
    						String num2 = ligne2.substring(4,7);;
     
    						if(ligne2.startsWith("zaz") && num1.equals(num2)){
    				//erecuperer d'autres informations			
    						}
    					}
    mais mon code ne marche pas, il n'entre pas dans ma deuxieme boucle !
    Merci de votre aide.

  2. #2
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Pourquoi 2 lectures ?

    Une HashMap doit être suffisant avec comme clé l'information commune.

    Pour chaque ligne commençant pas aaa ou zaz: création ou mise à jour de l'objet mis dans la map !!!

  3. #3
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 123
    Par défaut
    Mais comment j'ai pas pensé au HashMap !!!!!
    vraiment je cherche les problèmes

    Merci beaucoup Philippe Bastiani pour la réponse.

  4. #4
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 123
    Par défaut
    Bonjour,
    je relance ce sujet, car je rencontre un problème concernant l'utilisation de mon hashmap que j'ai construit à partir de mon fichier.
    avec un fichier de plus de 180000 lignes, j'ai environ 90 000 entrées dans mon hashmap, donc parcourir le hashmap prends beaucoup de temps.
    si quelqu'un a déjà rencontré ce problème prière de me dire comment je peux procéder pour que le traitement de mon hashmap soit rapide.

    Merci

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par défaut
    Bonjour,
    Que mets-tu comme clés dans ta HashMap? Il est possible qu'il y est un problème lors du hashage de ta map.

    Et qu'entends-tu par long (1 seconde, quelques milliseconde?)

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    767
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 767
    Par défaut
    donc parcourir le hashmap prends beaucoup de temps.
    Heu qu'entend tu par parcourir la HashMap, tu n'utilises pas get() ?

Discussions similaires

  1. Réponses: 151
    Dernier message: 09/06/2007, 15h17
  2. [Tableaux] parcourir un fichier texte
    Par infotime dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2007, 11h56
  3. parcourir un fichier texte.
    Par gregb34 dans le forum Langage
    Réponses: 6
    Dernier message: 18/04/2006, 13h04
  4. Comment parcourir un fichier texte avec une boucle ?
    Par kikica dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2005, 17h13
  5. Réponses: 6
    Dernier message: 23/12/2003, 15h30

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