Bnjr tt le monde,
Est ce que quelqu'un a une idée (bout de code) comment modifier un ficher texte en ajoutant au début de chaque ligne son numèro.
C'est urgent!!!
Mrci d'avance.
Bnjr tt le monde,
Est ce que quelqu'un a une idée (bout de code) comment modifier un ficher texte en ajoutant au début de chaque ligne son numèro.
C'est urgent!!!
Mrci d'avance.
Salut,
Il faut lire le fichier ligne par ligne, et réécrire chaque ligne dans un fichier temporaire en y ajoutant le numéro de ligne.
A la fin du traitement, une fois que les flux sont bien fermé (utiliser des try/finally), il suffit de remplacer le fichier original par le fichier temporaire...
a++
Et bien a priori tu lis ton fichier ligne par ligne, tu ajoutes ce que tu veux dans un buffer et tu récris ton fichier...
Bon, j'ai mal géré les exceptions, il faudrait un try...finally, mais bon, je te le laisse![]()
[Edit : grilled by Adi
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 public void litecrit(String aFileNameString){ StringBuffer aDataStringBuffer=new StringBuffer(""); BufferedReader aReader=null; try { aReader = new BufferedReader(new FileReader(aFileNameString)); int i = 1; String line=""; while ((line=aReader.readLine())!=null) { aDataStringBuffer.append(i + " - "+line+"\n"); i++; } aReader.close(); } catch (IOException e) { e.printStackTrace(); } PrintWriter aPrintWriter=null; try { aPrintWriter = new PrintWriter(new FileWriter(aFileNameString)); } catch (IOException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } //feeding textfile aPrintWriter.print(aDataStringBuffer); aPrintWriter.close(); }]
Deux try/finally ! (un par fichier ouvert)Envoyé par dazz_x
Et perso j'utiliserai un seul try/catch (si la lecture échoue inutile de tenter l'écriture...
Sinon je pense qu'il vaut mieux écrire directement dans un fichier temporaire plutôt que dans un StringBuffer pour des traitements aussi simple... Cela fait économiser la mémoire
a++![]()
Tout à fait d'accord, j'ai plus abusé de la complétion automatique que de mon cerveauEt perso j'utiliserai un seul try/catch (si la lecture échoue inutile de tenter l'écriture...![]()
Que dire sinon.... je suis d'accord aussi !!!Sinon je pense qu'il vaut mieux écrire directement dans un fichier temporaire plutôt que dans un StringBuffer![]()
Partager