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

Entrée/Sortie Java Discussion :

probleme de BufferedReader


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Par défaut probleme de BufferedReader
    voila le fichier que j ai a lire
    q;1;108;6;6;30;10;
    q;1;84;6;6;30;10;
    q;1;12;6;6;30;10;
    q;1;89;6;6;30;10;
    q;5;70;6;6;30;12;
    q;5;121;6;6;30;12;
    q;5;68;6;6;30;12;
    q;8;8;5;5;25;7;
    q;9;148;6;6;30;13;
    q;9;55;6;6;30;13;
    q;9;91;6;6;30;13;
    q;9;16;6;6;30;13;
    q;9;139;6;6;30;13;
    q;14;59;6;6;30;14;
    q;15;117;6;6;30;15;
    q;16;104;6;6;30;16;
    q;16;140;6;6;30;16;
    q;18;98;6;6;30;17;
    q;18;7;6;6;30;17;
    q;20;115;6;6;30;18;
    q;20;71;6;6;30;18;
    q;22;127;6;6;30;19;
    q;23;66;6;5;29;11;
    q;23;147;6;5;29;11;
    q;25;52;6;5;29;12;
    q;26;61;6;5;28;12;
    q;26;30;6;5;28;12;
    q;28;86;6;5;28;14;
    q;29;73;6;5;29;16;
    q;30;119;6;5;27;14;
    q;30;113;6;5;27;14;
    q;30;138;6;5;27;14;
    q;30;29;6;5;27;14;
    q;30;43;6;5;27;14;
    q;35;49;6;5;27;15;
    q;36;95;6;5;28;18;
    q;36;75;6;5;28;18;
    q;38;21;6;5;26;16;
    q;39;45;6;5;25;15;
    q;40;35;6;5;26;17;
    q;41;27;6;5;28;20;
    q;42;47;6;5;26;18;
    q;43;17;6;5;28;21;
    q;44;135;5;4;22;11;
    q;45;74;6;4;26;12;
    q;46;69;6;4;28;16;
    q;47;124;6;4;24;15;
    q;48;93;6;4;26;19;
    q;49;36;6;4;21;14;
    q;50;1;6;4;20;13;
    q;51;5;6;4;26;20;
    q;52;19;6;4;22;16;
    q;53;85;6;4;26;21;
    q;53;2;6;4;26;21;
    q;55;72;6;4;24;19;
    q;56;125;6;4;28;24;
    q;57;146;6;4;26;22;
    q;58;110;6;4;23;19;
    q;58;129;6;4;23;19;
    q;60;40;6;4;26;23;
    q;61;88;6;4;23;20;
    q;62;78;6;4;22;19;
    q;63;132;6;4;21;18;
    q;64;90;6;4;23;21;
    q;64;34;6;4;23;21;
    q;66;133;5;3;15;16;
    q;67;87;6;3;25;18;
    q;68;80;6;3;23;19;
    q;69;23;6;3;22;18;
    q;70;11;6;3;20;16;
    q;71;60;6;3;22;19;
    q;72;114;6;3;20;17;
    q;73;136;6;3;21;19;
    q;74;128;6;3;22;21;
    q;74;106;6;3;22;21;
    q;76;126;6;3;20;19;
    q;77;94;6;3;21;21;
    q;77;9;6;3;21;21;
    q;79;141;6;3;19;19;
    q;79;83;6;3;19;19;
    q;81;58;6;3;22;23;
    q;82;42;6;3;20;21;
    q;83;134;6;3;19;22;
    q;84;118;6;3;20;24;
    q;85;96;6;3;19;23;
    q;85;32;6;3;19;23;
    q;87;6;6;3;19;25;
    q;88;142;5;2;11;18;
    q;89;33;6;2;23;23;
    q;90;112;6;2;21;22;
    q;91;63;6;2;22;25;
    q;92;144;6;2;21;25;
    q;93;152;6;2;18;22;
    q;94;149;6;2;21;26;
    q;95;56;6;2;17;22;
    q;96;46;6;2;19;25;
    q;96;37;6;2;19;25;
    q;98;105;6;2;19;26;
    q;99;25;6;2;18;25;
    q;100;62;6;2;15;22;
    q;101;67;6;2;20;28;
    q;102;65;6;2;18;26;
    q;103;53;6;2;17;25;
    q;104;79;6;2;16;24;
    q;105;20;6;2;15;23;
    q;106;143;6;2;17;27;
    q;107;54;6;2;16;26;
    q;108;100;6;2;14;24;
    q;109;92;6;2;12;24;
    q;110;107;5;1;16;20;
    q;111;151;6;1;21;25;
    q;112;64;6;1;20;27;
    q;113;101;6;1;21;29;
    q;114;18;6;1;18;26;
    q;115;122;6;1;19;28;
    q;116;41;6;1;18;28;
    q;117;123;6;1;17;27;
    q;118;28;6;1;15;25;
    q;118;153;6;1;15;25;
    q;120;13;6;1;17;28;
    q;121;81;6;1;16;27;
    q;122;77;6;1;15;26;
    q;123;99;6;1;17;29;
    q;124;109;6;1;16;28;
    q;125;130;6;1;15;29;
    q;126;38;6;1;14;28;
    q;127;3;6;1;13;28;
    q;128;102;6;1;13;29;
    q;129;50;6;1;9;26;
    q;130;120;6;1;11;29;
    q;131;24;6;1;9;28;
    q;132;145;6;0;20;30;
    q;132;14;6;0;20;30;
    q;132;57;6;0;20;30;
    q;135;111;6;0;17;30;
    q;135;97;6;0;17;30;
    q;135;150;6;0;17;30;
    q;138;76;6;0;15;30;
    q;138;44;6;0;15;30;
    q;140;15;6;0;14;30;
    q;140;48;6;0;14;30;
    q;142;82;6;0;13;30;
    q;142;26;6;0;13;30;
    q;142;31;6;0;13;30;
    q;142;22;6;0;13;30;
    q;146;116;5;0;8;25;
    q;147;10;6;0;12;30;
    q;147;137;6;0;12;30;
    q;147;39;6;0;12;30;
    q;150;51;6;0;9;30;
    q;150;103;6;0;9;30;
    q;150;4;6;0;9;30;
    q;153;131;6;0;7;30;
    voila mon code pour le lire

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    private void GetClassPoule()throws IOException
    		{
    		String file_name=pathname_compet.concat("claspou_fin_1.txt");
    		int index_pre,index_post;
    		String cle_tireur;
    		String data[]= new String[5];
    		Tireur t;
     
    		//mise en buffer du fichier source
    		try 
    			{	
    			file_buffer = new BufferedReader(new FileReader(file_name));
    			}
    		catch (FileNotFoundException e) 
    			{
    			System.out.println("Le fichier " + file_name + " n'existe pas !" );
    			System.exit(1);
    			}
     
    		//lecture du buffer et recuperation des données d'une poule
    		while ( (line = file_buffer.readLine()) != null )
    			{
    			//recupere la place du tireur dela ligne
    			index_pre=line.indexOf("q;");
    			index_post=line.indexOf(";", index_pre+"q;".length());	
    			data[0]=line.substring(index_pre+"q;".length(),index_post);
    			//recupere la cle du tireur dela ligne
    			index_pre=index_post;
    			index_post=line.indexOf(";", index_pre+";".length());	
    			cle_tireur=line.substring(index_pre+";".length(),index_post);
    			//recupere le nombre de match du tireur dela ligne
    			index_pre=index_post;
    			index_post=line.indexOf(";", index_pre+";".length());	
    			data[1]=line.substring(index_pre+";".length(),index_post);
    			//recupere le nombre de victoire du tireur dela ligne
    			index_pre=index_post;
    			index_post=line.indexOf(";", index_pre+";".length());	
    			data[2]=line.substring(index_pre+";".length(),index_post);
    			//recupere le nombre de touches données du tireur dela ligne
    			index_pre=index_post;
    			index_post=line.indexOf(";", index_pre+";".length());	
    			data[3]=line.substring(index_pre+";".length(),index_post);
    			//recupere le nombre de touches recues du tireur dela ligne
    			index_pre=index_post;
    			index_post=line.indexOf(";", index_pre+";".length());	
    			data[4]=line.substring(index_pre+";".length(),index_post);
     
    			//recuperation du tireur grace a sa cle.
    			t=GetTireur(cle_tireur);
    			//mise en place des données relevées dans l'objet tireur correspondant
    			t.SetClassTireur(data[0],data[1],data[2],data[3],data[4]);
    			}
    		file_buffer.close();
    		}
    le probleme c est que je met en memoire que une partie des lignes (les 2/3 a peu pres).
    est ce que que le BufferedReader est limite en taille??
    si oui y a t il une alternative??
    merci

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    veux tu reformuler la problématique s'il te plaît


  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Par défaut
    en gros le fichier .txt contient des informations sur des tireurs nommes 'q' dans le fichier.
    Mon but est de de trier ses données (nombre de la ligne du q en question)et de les ranger dans une classe tireur que j ai cree.

    Quand je lis le fichier avec un BufferedReader ligne par ligne, je n arrive a 'lire' que les lignes allant de
    q;1;108;6;6;30;10;
    à
    q;95;56;6;2;17;22;
    en gros les 2/3 des lignes contenues dans mon .txt......

    et je ne comprends pas pourquoi ...puisque theoriquement avec ma boucle while ( (line = file_buffer.readLine()) != null )
    je devrais lire le fichier entierement non???


    est ce assez clair la?

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    C'est plus clair en effet.
    Et c'est pas normal non plus. Théoriquement, il n'y a pas de limite quant à la taille des fichers (il m'est arrivé de traiter des fichiers de plusieurs dizaines de mégas).
    T'es sur que tu n'as pas d'exception lors du traitement d'une ligne ?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Par défaut
    a priori non la est mon probleme

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Comment tu sais que tu ne lis que les 2/3 des lignes ?
    N'y aurait-il pas des tireurs avec la même clé ?


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 69
    Par défaut
    ben pour les execption en mea culpa j en sais rien en fait...

    pour les 2/3 des lignes c est que je lis les lignes une par une je m arrete a celle definie dans le post precedent et ca represente a peu pres 2/3!!

    sinon pour les clés des tireur elles sont uniques ca c est sur.

    pour les exceptions commen savoir a laquelle j ai a faire?

Discussions similaires

  1. Communication série Trames gps NMEA problemes bufferedreader
    Par Ginoaria dans le forum Général Java
    Réponses: 1
    Dernier message: 18/02/2011, 08h49
  2. probleme avec BufferedReader
    Par tupac25 dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2010, 12h08
  3. probleme bufferedReader / Servlet
    Par bim92i dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 11/05/2008, 17h27
  4. Probleme pour la lecture de tabular avec BufferedReader
    Par Les2A dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 10/04/2007, 14h18
  5. [applet] probleme avec BufferedReader Saturer.
    Par lykim dans le forum Applets
    Réponses: 1
    Dernier message: 10/05/2006, 16h53

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