Filtre de lecture ou d'écriture
mon code
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
| public void lecture_fichier(int num_ligne){
String ligne;
if(fichier.exists()==true){
try{
FileReader fr1 = new FileReader(fichier);
BufferedReader br1 = new BufferedReader(fr1);
while((ligne = br1.readLine()) != null){ //boucle qui lit ligne par ligne
jta1.setText(jta1.getText()+"\n"+ligne);
}
br1.close();
}catch(IOException e){
System.out.println("Erreur de lecture : "+e.getMessage());
}
}else{
ecriture_fichier();
}
}
public void ecriture_fichier(){
try{
FileWriter fw1 = new FileWriter(fichier);
BufferedWriter bw1 = new BufferedWriter(fw1);
bw1.write(jta1.getText());
bw1.close();
}catch(IOException e){
System.out.println("Erreur d'écriture : "+e.getMessage());
}
} |
Le problème est que mon JTextArea jta1 a la propriété setText() vide lors de sa construction alors lorsque l'application enregistre le texte modifié dans le fichier elle ajoute à chaque fois une ligne blanche en début de texte.
Vous me direz une ligne c'est rien ! Certes, mais si j'exécute le code 10 fois ça fait 10 lignes !
J'aurais voulu trouver un moyen de filtrer cette ligne à l'écriture ou encore mieux à la lecture comme ça c'est plus joli et aussi efficace.
J'ai tenté de disposer un tel filtre dans la boucle while avec une condition mais ça n'a rien donné.
Tymk
Tymk