Lire des gros fichiers [Résolu]

coinki 57 Messages postés mercredi 26 février 2003Date d'inscription 6 juillet 2009 Dernière intervention - 3 sept. 2007 à 17:08 - Dernière réponse : coinki 57 Messages postés mercredi 26 février 2003Date d'inscription 6 juillet 2009 Dernière intervention
- 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 5278 Messages postés dimanche 4 mai 2003Date d'inscription 13 septembre 2018 Dernière intervention - 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é 92 internautes ce mois-ci

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