[debutant] accélérer la lecture d'un fichier
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:
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 ?