Bonjour,

J'ai un fichier texte relativement long (+/- 100 Ko) ; celui ci est "séparé" en deux parties par une ligne reconnaissable, par exemple :"FIN DE LA PREMIERE PARTIE".

A noter que cette ligne reconnaissable est de mon fait, je (vous ) peux tout a fait mettre autre chose si ça marche mieux.

Je souhaite transformer uniquement la deuxiemme partie en String :

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
 
BufferedReader in = new BufferedReader(new FileReader ("C:\\essai.txt");
String s=null;
String tmp;
 
// parcours du fichier jusqu'a la balise : on ne fait rien sauf si on arrive à la fin
while (!(tmp=in.readLine()).equals("FIN DE LA PREMIERE PARTIE")){
   if (tmp==null)
     break;
}
 
// apres la balise, on recopie les lignes
while ((tmp=in.readLine())!=null){
   s+=tmp+"\n";
}
 
in.close();

Ce code fonctionne, mais je le trouve tres long à l'execution ... auriez vous une idée pour faire plus vite ?

Remarque peut-etre utile : le fichier traité comporte un bon paquet de lignes vides...

Merci de votre aide


Question subsidiaire : si dans mon fichier j'ai une séquence \r\n , ça compte au niveau de Readline() pour une seule, ou deux lignes ?