Lire des gros fichiers [Résolu]

coinki
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Dernière intervention
6 juillet 2009
- 3 sept. 2007 à 17:08 - 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
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 3 sept. 2007 à 19:58
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

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Twinuts
coinki
Messages postés
57
Date d'inscription
mercredi 26 février 2003
Dernière intervention
6 juillet 2009
- 4 sept. 2007 à 09:11
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.