Bonjour,
J'ai de gros fichiers (1,5Go) que je doit parser ! Je dois en fait les "compresser" en enlevant les lignes inutiles, et enlever certains caractères érronés (uniquement sur certaines lignes).
Cependant le traitement prends 45 min par fichier et je voulais savoir sur vous saviez m'aider pour que ce soit + performant.
Voici mon code :
Merci
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 ... try { old = new RandomAccessFile("old.xml", "r"); new1 = new RandomAccessFile("new.xml", "rw"); } catch (FileNotFoundException e) { e.printStackTrace(); } String ligne; try { while ((ligne=old.readLine())!=null){ if (<+sieurs tests pour voir s il faut garder cette ligne>) { new1.writeBytes(ligne+"\n"); continue; } if (<+sieurs tests pour voir s il faut garder cette ligne + changer certains caractères>) { ligne = ligne.replace('\u001D', ' '); ligne = ligne.replace('\u0003', 'b'); new1.writeBytes(ligne+"\n"); continue; } // les autres lignes ne sont pas écrites dans le nouveau fichier !!! } // fin du while ...![]()
Partager