Bonjour,

J'apprends le langage Java et je fais quelques petits programmes pour le tester.

Je sais qu'il existe des programmes tout fait, qui suit, mais je les écrit pour m'entrainer à ce nouveau langage.

J'arrive plus ou moins à me débrouiller, mais là je ne comprends pas du tout.

La ligne "while ((ligne = lecture.readLine()) != null)" me donne une erreur "lecture cannot be resolved" en pré compilation.

Je fais pourtant appel à la classe FichierTxt que j'importe dans ma classe principale et ma classe FichierTxt est bien compilé sans pb en FichierTxt.class


Classe principale TestFichierTxt :

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
 
import fr.pl.fictxt.FichierTxt;
 
import java.io.BufferedReader;
import java.io.FileReader;
 
public class TestFichierTxt {
 
   public static void main(String[] args) {
 
	  String ligne;
 
      FichierTxt ficTxt = new FichierTxt("C:\\Users\\Patrick\\Test.txt");
      if (ficTxt.ouvreEnLecture ()) {
    	 while ((ligne = lecture.readLine()) != null)    //  ERREUR lecture cannot be resolved
    	        System.out.println(ligne);
      }
      ficTxt.fermeEnLecture();
   }
 
}
Classe FichierTxt :

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 fr.pl.fictxt;
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
 
public class FichierTxt {
   private String fichier = "";
   private BufferedReader lecture = null;
   private BufferedWriter ecriture = null;
 
   // Constructeur
   public FichierTxt (String nomFic) {
	  this.fichier = nomFic;
   }
 
   // Ouverture du fichier en lecture
   public boolean ouvreEnLecture() {
 
	  try {
		  lecture = new BufferedReader(new FileReader(this.fichier));
		  return true;
	  }
	    catch(FileNotFoundException exc) {
		   System.out.println("Erreur d'ouverture en lecture");
	    } 
	    return false;
   }
 
   // Fermeture du fichier en lecture
   public void fermeEnLecture() {
	  try {
		 lecture.close();
	  }
	    catch (IOException e) {
	      System.out.println("Erreur de fermeture " + e);
	   }
   }
 
   // Ouverture du fichier en écriture
   public boolean ouvreEnEcriture() {
 
	  try {
		  ecriture = new BufferedWriter(new FileWriter(this.fichier));
		  return true;
	  }
	    catch(IOException e) {
		   System.out.println("Erreur d'ouverture en éciture");
	    } 
	    return false;
   }
 
   // Fermeture du fichier en écriture
   public void fermeEnEcriture() {
	  try {
		 ecriture.close();
	  }
	    catch (IOException e) {
	      System.out.println("Erreur de fermeture " + e);
	   }
   }
}
Vous pouvez me dire ce qui se passe, mon appel n'est il pas le bon, j'ai oublié quelque chose ?? je voudrais comprendre.

Merci beaucoup de vos réponses.
Cordialement.