Il ne trouve pas ma variable
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:
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:
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.