Lire un fichier texte en java [Résolu/Fermé]

- - Dernière réponse :  TitiRani - 23 juil. 2008 à 13:00
Salut !
je voudrai lire un fichier texte ligne par ligne en java mais je ne sais pas comment faire.
Merci d'avance

Nathalie
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
694
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
11 juin 2007
42
341
Merci
salut,

un petit exemple :


import java.io.*;

public class ReadFile {
 public static void main(String[] args){
  String chaine="";
  String fichier ="fichiertexte.txt";
  
  //lecture du fichier texte 
  try{
   InputStream ips=new FileInputStream(fichier); 
   InputStreamReader ipsr=new InputStreamReader(ips);
   BufferedReader br=new BufferedReader(ipsr);
   String ligne;
   while ((ligne=br.readLine())!=null){
    System.out.println(ligne);
    chaine+=ligne+"\n";
   }
   br.close(); 
  }  
  catch (Exception e){
   System.out.println(e.toString());
  }
 
  //création ou ajout dans le fichier texte
  try {
   FileWriter fw = new FileWriter (fichier);
   BufferedWriter bw = new BufferedWriter (fw);
   PrintWriter fichierSortie = new PrintWriter (bw); 
    fichierSortie.println (chaine+"\n test de lecture et écriture !!"); 
   fichierSortie.close();
   System.out.println("Le fichier " + fichier + " a été créé!"); 
  }
  catch (Exception e){
   System.out.println(e.toString());
  }  
 }
}



Il y a déjà eu des réponses mais je n'arrive pas à trouver le post ...

arrrff
lof.

Dire « Merci » 341

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 70052 internautes nous ont dit merci ce mois-ci

51
Merci
le code ci dessous permet de lire un fichier, et de l'afficher, le fichier doit être à la racine de ton projet

public void affiche() throws IOException {
  String ligne = "";
  String fichier = "";
  BufferedReader clavier = new BufferedReader(new InputStreamReader(
    System.in));

  System.out.println("Quel est le nom de votre fichier ?");
  fichier = clavier.readLine();
  BufferedReader ficTexte;
  try {
   ficTexte = new BufferedReader(new FileReader(new File(fichier)));
   if (ficTexte == null) {
    throw new FileNotFoundException("Fichier non trouvé: "
      + fichier);
   }
   do {
    ligne = ficTexte.readLine();
    if (ligne != null) {
     System.out.println(ligne);
    }
   } while (ficTexte != null);
   ficTexte.close();
   System.out.println("\n");
  } catch (FileNotFoundException e) {
   System.out.println(e.getMessage());
  } catch (IOException e) {
   System.out.println(e.getMessage());
  }

 }
20
Merci
PS

Tu peux l'essayer avec ceci :

   import java.io.*;

           
   public class tatatititoto
           
   {
              
      public static void affiche() //throws IOException
              
      {
         String ligne = "";
         String fichier = "";
      
         String ligne_a_trouver = "";   // <<<<<<<<<<<<<<<<<<<<< ajouter
         try
         {
            BufferedReader clavier = new BufferedReader(new InputStreamReader(
                                                System.in));
         
            System.out.println("Quel est le nom de votre fichier ?");  // AVEC L'EXTENSION .txt
            fichier = clavier.readLine();
         
            System.out.println("Ligne a chercher"); // par ex. tata titi toto  <<<<<<<<<<<<<<<<<<<<< ajouter
            ligne_a_trouver = clavier.readLine();   // <<<<<<<<<<<<<<<<<<<<< ajouter            BufferedReader ficTexte;
         // try {
            ficTexte = new BufferedReader(new FileReader(new File(fichier)));
            if (ficTexte == null) {
               throw new FileNotFoundException("Fichier non trouvé: "
                                    + fichier);
            }
            do {
               ligne = ficTexte.readLine();
               if (ligne != null) {
                  if (ligne.equals(ligne_a_trouver))  // <<<<<<<<<<<<<<<<<<<<< ajouter
                  {  // <<<<<<<<<<<<<<<<<<<<< ajouter
                     System.out.println(ligne);
                     break;  // <<<<<<<<<<<<<<<<<<<<< ajouter
                  }  // <<<<<<<<<<<<<<<<<<<<< ajouter
               }
            } while (ficTexte != null);
            if (ligne.equals(ligne_a_trouver))  // <<<<<<<<<<<<<<<<<<<<< ajouter
               System.out.println("Trouve !");  // <<<<<<<<<<<<<<<<<<<<< ajouter
            else  // <<<<<<<<<<<<<<<<<<<<< ajouter
               System.out.println("Non trouve !");  // <<<<<<<<<<<<<<<<<<<<< ajouter
            ficTexte.close();
            System.out.println("\n");
         } 
                    
            catch (FileNotFoundException e) {
                    
               System.out.println(e.getMessage());
            } 
                    
            catch (IOException e) {
                    
               System.out.println(e.getMessage());
            }
      }              
              
      public static void main (String[] args)
              
      {
         affiche();
         System.exit(0);
      }
   }
16
Merci
Salut.

Aulieu d'entrer un texte, tu demandes et entres un no de ligne :

int ctr = 0;

il faut convertir le String ligne_a_trouver en int : int nligne = Integer.parseInt(ligne_a_trouver);

puis a chaque lecture ctr++;

if (ctr == nligne ) c'est ok




int ctr = 0; // <<<<<<<<< ajouter
System.out.println("Ligne a chercher"); // un no
ligne_a_trouver = clavier.readLine();
BufferedReader ficTexte;
try // <<<<<<<<< ajouter
{ // <<<<<<<<< ajouter
int nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter
catch (IOException e)
{ // <<<<<<<<< ajouter
System.out.println(e.getMessage()); // entree non numerique // <<<<<<<<< ajouter
// voir que faire dans ce cas // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter

// try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
if (ficTexte == null) {
throw new FileNotFoundException("Fichier non trouvé: "
+ fichier);
}
do {
ligne = ficTexte.readLine();
if (ligne != null) {
ctr++; // <<<<<<<<< ajouter
//if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<­<<<<<< remplacer
if (ctr == nligne ) // <<<<<<<<< ajouter
{
System.out.println(ligne);
break;
}
}
} while (ficTexte != null);
//if (ligne.equals(ligne_a_trouver)) // <<<<<<<<<<<<<<<­<<<<<< remplacer
if (ctr == nligne ) // <<<<<<<<< ajouter
System.out.println("Trouve !");
else
System.out.println("Non trouve la ligne n'existe pas !");

Quelque chose comme ca.

Cordialement.

Dan
6
Merci
quelques petites modifications :


try // <<<<<<<<< ajouter
{ // <<<<<<<<< ajouter
int nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter
catch (IOException e)
{ // <<<<<<<<< ajouter
System.out.println(e.getMessage()); // entree non numerique // <<<<<<<<< ajouter
// voir que faire dans ce cas // <<<<<<<<< ajouter
} // <<<<<<<<< ajouter

a remplacer par

int nligne = 0; // <<<<<<<<<<<<<<<
try
{
nligne = Integer.parseInt(ligne_a_trouver); // <<<<<<<<<<<<<<<
}
catch (NumberFormatException e) // <<<<<<<<<<<<<<<
{
System.out.println(e.getMessage()); // entree non numerique
// voir que faire dans ce cas
}
Merci beaucoup danimo j'aurais mis un temps fou à trouver ça tout seul surtout à mon niveau.
J'ai presque réussi à faire ce que je voulais faire. Je vais essayer de trouver ce qui me reste tout seul :) comme un grand.

Encore Merci et surtout pour la rapidité de tes réponses;)
Bonne journée à toi