mon code
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
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