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

Documents Java Discussion :

BufferedReader readLine(); tant qu'il y a des lignes


Sujet :

Documents Java

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut BufferedReader readLine(); tant qu'il y a des lignes
    Bonjour, je suis en train de développer une application qui lit et qui écrit dans un fichier csv.

    Pour l’écriture aucun problème, par contre pour la lecture, je me retrouve confronté a un problème par mon manque de connaissances. À chaque clic sur un bouton une ligne vient s’écrire dans ce fichier et je veux quelle soit automatiquement lue et affichée dansd un textview ce que j'arrive a faire, mais je voudrais quelle ajoute une ligne automatiquement car pour le moment ma seul technique est la suivante :

    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
    try{
                        InputStream ips=new FileInputStream(mFile+tmp+"_"+TypeINtent+".csv");
                        InputStreamReader ipsr=new InputStreamReader(ips);
                        BufferedReader br=new BufferedReader(ipsr);
                        String ligne;
                        while ((ligne=br.readLine())!=null){
                            System.out.println(ligne);
                            String chaine = ligne + "";
                            String ligne2 = br.readLine();
                            String ligne3 = br.readLine();
                            String ligne4 = br.readLine();
                            String ligne5 = br.readLine();
                            String ligne6 = br.readLine();
                            String ligne7 = br.readLine();
                            textViewToChange.setText(
                                    // "The new text that I'd like to display now that the user has pushed a button."
                                  ligne2+ ".\n."+ ligne3+ ".\n."+ ligne4+ ".\n."+ ligne5+ ".\n."+ ligne6+ ".\n."+ ligne7+ ".\n.");
                        }
    Alors c'est chouette, mais en sachant qu'il pourrait y avoir des centaines de lignes qui se créent, ce n'est pas génial génial...

    merci d'avance !

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    un truc comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                        String ligne;
                        while ((ligne=br.readLine())!=null){
                            System.out.println(ligne);
     
                            textViewToChange.setText(textViewToChange.getText() + ".\n." + ligne);
                        }
    ou même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                        String ligne;
                        StringBuilder builder = new StringBuilder();
                        while ((ligne=br.readLine())!=null){
                            System.out.println(ligne);
                            builder.append(ligne).append(".\n.");
                        }
                        textViewToChange.setText(builder.toString());
    ?

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 154
    Points : 87
    Points
    87
    Par défaut
    Salut et merci de ta réponse,

    suite a d'autre problème technique que j'ai confronter je suis passer par l'API POI d'apache avec le quelle je traite des fichier xls et ou xlsx

    du coup voici le code pour lire un fichier avec POI

    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
     
    HSSFWorkbook wb = null;
            try {
                wb = new HSSFWorkbook(file);
            } catch (IOException e) {
                e.printStackTrace();
            }
            Cell c = null;
     
            //New Sheet
            HSSFSheet sheet1 = wb.getSheetAt(0);
     
     
            int rownum = sheet1.getLastRowNum()+1;
     
            /////////////////////////////////
            Row row = sheet1.createRow(rownum);
    ////////////////////////////////////////////////A faire Ici
            ///Conteur du nombre de cell
            int counter =0;
            Iterator<Row> rowIter = sheet1.rowIterator();
            ArrayList<String> ArrayFichier=new ArrayList<String>();
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, ArrayFichier);
            liste.setAdapter(adapter);
    ///////Fin de la créatuon de la listeview
            while (rowIter.hasNext()) {
                ArrayList<String> ArrayLigne=new ArrayList<String>();
                //Création de la row
                HSSFRow myRow = (HSSFRow) rowIter.next();
                Iterator<Cell> cellIter = myRow.cellIterator();
     
                while (cellIter.hasNext()) {
     
                    HSSFCell myCell = (HSSFCell) cellIter.next();
                    Log.w("FileUtils", "Cell Value: " + myCell.toString());
     
                    if(counter < 11){
                        ArrayLigne.add (String.valueOf(myCell));
                        counter++;
                    }else{
                        ArrayFichier.add (String.valueOf(ArrayLigne));
                        counter =0;
                    }
     
                }
     
            }
    bon la c'est mon code en vrac avec deux trois supplément pour lire mon fichier en mettent 11 cellule par ligne afficher dans mon Arry!

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

Discussions similaires

  1. Temps d'excution de chacune des lignes dans un programme ?
    Par marot_r dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/07/2014, 13h29
  2. Réponses: 0
    Dernier message: 28/08/2007, 18h23
  3. Réponses: 2
    Dernier message: 13/02/2007, 14h59
  4. BufferedReader + ReadLine()
    Par mimil dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 21/05/2005, 20h01
  5. [readline] temps de lecture
    Par fredericL dans le forum Entrée/Sortie
    Réponses: 15
    Dernier message: 11/05/2004, 16h05

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