Bonjour à tous,
Je dois lire un fichier txt afin de trouver une chaine de caractère particulière puis la remplacer par autre chose. Tout le reste je le recopie tel quel.
En gros c'est comme si j'avais ça.
et que je voudrais çaje
tu
il
nous
vous
ils
Voici mon code:je
tu
il, elle
nous
vous
ils
Jusque là ça marche.
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 Tools tool = new Tools(); ArrayList tableauArray = new ArrayList(); String fileToRead=new File("toto.txt"); String fileToWrite=new File("tata.txt"); BufferedReader reader = tool.openFile(fileToRead); String line; String pattern = "il"; while ((line=reader.readLine()) != null) { if (tool.findPattern(pattern line)) { String newLine = pattern+", elle"; line = newLine+" "+line.substring(newLine.length()); tableauArray.add(line); } else { tableauArray.add(line); } } for (int i=0; i<tableauArray.size();i++) { tool.writeLine(tableauArray.get(i).toString(), fileToWrite); } tool.closeFile(reader);
Par contre je voudrais optimiser la lecture du fichier. Ici j'ai pris un exemple simple mais en fait j'ai un fichier qui fait plus de 1000 lignes et ce que je recherche arrive à la 3ème ligne. J'aimerais donc une fois que j'ai trouvé ce que je cherche dans le fichier ne plus avoir à lire ligne par ligne celui mais tout recopier d'un coup jusqu'à la fin.
Merci de votre aide.
Partager