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 :

Écriture/Lecture et traitement de données situées dans un .txt


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 1
    Par défaut Écriture/Lecture et traitement de données situées dans un .txt
    Bonjour à tous !

    Je débute dans le java, et je bute sur un problème qui n'est sans doute pas grand chose pour vous..

    Je voudrais insérer et lire pour traitement des Int situés dans un .txt (Rates.txt).

    Cependant je n'arrive à lire que la première ligne de mon fichier..

    Voici mon code


    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    package raterestaurant;
    import java.util.*;
    import java.io.*;
     
    public class RateRestaurant 
    {
        static Scanner Key;
     
        public static void main(String[] args) 
        {
            Key = new Scanner(System.in);
     
            int rate=0;
     
            FileWriter fw;
            FileReader fr;        
     
     
            int cpt=0;
            float av=0;
            int str;
            int tot=0;
     
     
                cpt++;
     
                do
                {
                    System.out.println("Please rate us ! ");
                    rate = Key.nextInt();
                }while(rate<1 || rate >5);
     
                try 
                {
     
                    try(FileWriter flw = new FileWriter("Rates.txt", true); 
                        BufferedWriter bw = new BufferedWriter(flw); 
                        PrintWriter out = new PrintWriter(bw))
                   {
                        out.println(rate );
                   }
                   catch (IOException e)
                   {
                        System.out.println ( " Problème à l’écriture du fichier " ) ;
                        System.exit(0);
                   }
     
                    BufferedReader r = new BufferedReader(new FileReader("Rates.txt"));
                    String val= r.readLine();
                    str = Integer.valueOf(val);
     
                    System.out.println(str);
     
                    tot += str;
                    av = (tot/cpt);
     
                    //Affichage
                    System.out.println(av);
                } 
                catch (IOException e) 
                {
                    e.printStackTrace();
                }
     
    }
    Je sais qu'il y a d'autres méthodes pour faire ceci, mais j'aimerais le faire de cette manière pour des manipulations à venir.

    Merci d'avance !

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Ce qui fait lire une ligne de ton fichier c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String val= r.readLine();
    Il faut donc l'entourer d'une boucle do ... while

    while((str=input.readLine())!=null)

    ce qui donnerait :
    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
     
    String val = r.readLine();
    while (val  != null) {
        str = Integer.valueOf(val);
     
        System.out.println(str);
     
        tot += str;
        av = (tot/cpt);
     
        //Affichage
        System.out.println(av);
        val  = r.readLine();
    }
    r.close();
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

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

Discussions similaires

  1. [XL-2013] TCD à l'aide de 2 plages de données situées dans un même classeur
    Par dededefix dans le forum Excel
    Réponses: 7
    Dernier message: 24/06/2016, 19h07
  2. Extraction données complexe dans fichier txt
    Par munity dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/02/2012, 20h19
  3. [XL-2007] Extraction données complexe dans fichier txt
    Par familledacp dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/11/2011, 15h59
  4. Réponses: 2
    Dernier message: 04/06/2008, 01h31
  5. PB recuperation dune donnée situé dans un bean
    Par Kpone dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/04/2006, 05h46

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