Lire des gros fichiers [Résolu]

Messages postés
57
Date d'inscription
mercredi 26 février 2003
Dernière intervention
6 juillet 2009
- - Dernière réponse : coinki
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Dernière intervention
6 juillet 2009
- 4 sept. 2007 à 09:11
    Bonjour,
je veux récupèrer un fichier texte relativement lourd (7Mo) pour vérifier s'il  contient  certains termes.
Je fais le code suivant :

BufferedReader reader = null;
        String txt = "";
        try {
            reader = new BufferedReader(new FileReader("mon_fichier.txt"));
            String line;
            int i=0;
            while ((line = reader.readLine()) != null){
                System.out.println(i);
                txt+=line+"\n";
                i++;
            }
        }
        catch (Exception e) {
        }
        finally{
            try {
                if (reader==null){
                    reader.close();
                }
            } catch (IOException e) {}
        }
       
        System.out.println(txt);

Mais c'est très très lent.

Quelqu'un sait comment lire plus vite ?

Alain
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
5322
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
4 février 2019
98
3
Merci
Salut,

regarde du coté de la classe RandomAccessFile et penche toi sur les méthodes  [http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html#readFully%28byte%5B%5D%29 readFully(byte[])] ou [http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html#readFully%28byte%5B%5D,%20int,%20int%29 readFully(byte[], int, int)]

sinon toujours avec la classe RandomAccessFile essais de bufferiser ta lecture en jouant avec les méthodes seek(long) et getFilePointer()

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 118 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Twinuts
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Dernière intervention
6 juillet 2009
0
Merci
Merci pour ta réponse, c'est exactement ce qu'il me fallait!
Commenter la réponse de coinki

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.