Voila je voudrais savoir comment faire pour ouvrir un fichier .txt situé dans mon workspace avec un ActionListener
Ensuite, comment fait on pour supprimer le contenu de ce fichier.txt sans supprimer le fichier en lui même
Merci d'avance
A+
Voila je voudrais savoir comment faire pour ouvrir un fichier .txt situé dans mon workspace avec un ActionListener
Ensuite, comment fait on pour supprimer le contenu de ce fichier.txt sans supprimer le fichier en lui même
Merci d'avance
A+
Pour modifier le texte d'un fichier, tu ne peut pas le faire ainsi, le mieux c'est de le lire, de stocker les infos, de modifier ces infos à ta guise et ensuite de le réécrire entiérement.
Tu n'as qu'à écrire un texte null dans le fichier, ainsi le fichier sera vide, mais existera toujours.
Comme le dit witchounet commence par lire le fichier et stocker ses infos. Par exemple tu lis chaque ligne que tu stockes dans une ArrayList :
Pour effacer le fichier tu peux lire un fichier blanc et le copier dans ton fichier par exemple ou faire un remove sur chaque éléments de ton ArrayList puis régénérer le fichier...
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 static ArrayList scanFile(String pathInputFile, String nameInputFile){ BufferedReader lecteurAvecBuffer = null; String line; ArrayList lines = new ArrayList(); //vecteur stockant les lignes du fichier int i = 0; try { lecteurAvecBuffer = new BufferedReader(new FileReader(pathInputFile+nameInputFile)); } catch(FileNotFoundException exc) { System.out.println("Error while opening "+nameInputFile+" in static scanFile"); } try { while ((line = lecteurAvecBuffer.readLine()) != null) { lines.add(i,line); i++; } } catch (Exception err){System.out.println(" Exeption Fichier "+nameInputFile);} return(lines); }
Ma fonction de régénération :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void cloneFile(String pathInputFile, String nameInputFile) { try{ setLinesVector(scanFile(pathInputFile, nameInputFile)); regenerateFile(); } catch (Exception err){System.out.println(" Exeption ecritEntete!");} }getLinesVector() étant le getter qui réccuppére mon ArrayList.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void regenerateFile() { try { PrintWriter tmpWriter = new PrintWriter(new BufferedWriter(new FileWriter(path+name))); for (int i=0; i<getLinesVector().size(); i++) { tmpWriter.println(getLinesVector().get(i)); } tmpWriter.close(); } catch (Exception err){System.out.println(" Exeption Fichier ");} }
Voilà j'espère que ça pourra t'aider
Partager