Bonjour la communauté,
Je fais appel à vous car j'ai un problème avec des fichiers .dat.

Je cherche à effacer une ligne selectionnée par l'utilisateur dans un fichier .dat

voici le code de ma méthode :
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
 
public void effacerLigne(String nomDuFichier, String ligne){
                        FileInputStream fIn = null;
			InputStreamReader isr = null;
			BufferedReader br = null;
 
			FileOutputStream fOut = null;
			OutputStreamWriter osw = null;
 
 
			try {
				   fIn = c.openFileInput(nomDuFichier);
				   isr = new InputStreamReader(fIn);
				   br = new BufferedReader(isr);
				   fOut = c.openFileOutput("t" + nomDuFichier, Context.MODE_APPEND);
				   osw = new OutputStreamWriter(fOut);			
 
					String line;         
				while ((line = br.readLine()) != null) {
 
				        if (!line.equals(ligne)) { 
				        	osw.write(line + '\n');	
				        	osw.flush();
 
				        }
				        else if (line.equals(ligne)){
				        	Toast.makeText(c.getApplicationContext(), line + " " + ligne, Toast.LENGTH_LONG).show();
				        }
				}
				br.close();
				isr.close();
				fIn.close();
			    osw.close();
			    fOut.close();
 
 
		      File ancien = new File(nomDuFichier);
		      File nouveau = new File("t" + nomDuFichier);
		      ancien.delete();
		      nouveau.renameTo(ancien);
 
			}catch(Exception e) { 
				Toast.makeText(c.getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show(); 
			}
Tout se passe bien sauf à la fin,
Je souhaite renommer le nouveau fichier crée avec la ligne en moins, par le nom de l'ancien, mais cela ne fonctionne pas.
Quelqu'un a t'il une idée?