Utiliser la boucle ‘forin’ pour lire un fichier texte ligne par ligne

Author:


{filelink=4415}

import java.util.Iterator;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

/**
 * Cette classe vous permet de parcourir une fichier texte ligne par ligne.
 *
 */
public class FichierTexte implements Iterable {

  final String filename;

  public FichierTexte(String filename) {
    this.filename = filename;
  }

  // Impl�mentation d'une m�thode de l'interface Itrerable
  public Iterator iterator() {
    return new IterateurFichierTexte();
  }

  // Implementation d'une classe it�rateur personnalis�
  class IterateurFichierTexte implements Iterator {

    // D�claration d'un objet 'BufferedReader' pour lire les flux d'entr�e
    BufferedReader in;

    String ligneSuivante; // Affecter la valuer de la  derni�re ligne lu

    public IterateurFichierTexte() {
      // Ouvrir le fichier et lire les donn�es;
         try {
        in = new BufferedReader(new FileReader(filename));
        ligneSuivante = in.readLine();
      } catch(IOException e) {
        throw new IllegalArgumentException(e);
      }
    }

    // V�rifier si la ligne suivante n'est pas null, sinon arr�te le parcour du fichier
    public boolean hasNext() {
      return ligneSuivante != null;
    }

    public String next() {
      try {
        String result = ligneSuivante;

        // Tester si nous n'avons pas atteind la fin de fichier
        if (ligneSuivante != null) {
          ligneSuivante = in.readLine(); // Si c'est le cas, alors lis la ligne suivante
          if (ligneSuivante == null)
            in.close();             // Fermer le flux d'entr�e si la fin de fichier est atteint
        }

        // Retourner la derni�re ligne lue par notre flux
        return result;
      } catch(IOException e) {
        throw new IllegalArgumentException(e);
      }
    }

    // Le fichier est en lecture seule, �viter toute op�rations d'�criture
    public void remove() {
      throw new UnsupportedOperationException();
    }
  }

  public static void main(String[] args) {
    String filename = "FichierTexte.java";
    if (args.length > 0)
      filename = args[0];

    for(String line : new FichierTexte(filename))
      System.out.println(line);
  }
}

A Voir sur le même Sujet:

  • méthode pour lister les fichiers texte d'un repertoire + java
  • fichier texte
  • fichier txt
  • lire un fichier text ligne aprés ligne en utilisant opencv
  • java boucle for pour ligne de fihier
  • lire en boucle un fichier txt java
  • java creer tableau deux dimensions a partir fichier csv
  • javascript+afficher+ligne+par+ligne+le+contenu+d'un+fichier+txt
  • boucle pour lire plusieurs fichiers texte dans un même repertoire + java
  • parcourir le fichier texte ligne par ligne en java

Leave a Reply

Your email address will not be published. Required fields are marked *