IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[Coldfusion] Java File Reader sur un tres long fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut [Coldfusion] Java File Reader sur un tres long fichier
    Bonjour,

    j'ai une procédure qui doit tourner sur un tres gros fichier texte
    pour lire le fichier qui fait 52.000 lignes pour 27 MB j'utilise
    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
    <cfset srcFile=#thispath#&"file\"&#thisfilename#&".TXT">
    <cfscript>
     fr = createObject("java","java.io.FileReader");
     fr.init(srcFile);
     br = createObject("java","java.io.BufferedReader");
     br.init(fr);
    </cfscript>
     
    <cfscript>
     this_record = br.readLine();
    </cfscript>
    <cfloop condition="isdefined('this_record') ">
    ......Mes traitements....
    <cfscript>
    this_record = br.readLine();
    </cfscript>
    </cfloop>
    si je limite la boucle a 10000 lignes la procédure s'execute en 30 secondes
    je m'attends donc a etre sous les 5 minutes pour 50000 lignes, et bien non, la procédure semble tourner indefiniment.
    Comme si le bufferedreader ne savait pas suivre au dela de 10000 lignes...
    que dois-je faire? car je vais devoir refaire tourner la meme procédure pour un autre client sur un fichier de 450.000 lignes

    merci de votre aide...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 41
    Par défaut
    Bonjour,


    Je ne connais pas coldfusion mais en ce qui concerne java, une telle méthode :
    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
    18
    	public static void main(String[] args) throws Exception {
     
    		FileReader fr=null;
    		int i=0;
    		fr = new FileReader("j:\\access.log"); 
     
    		BufferedReader br = new BufferedReader(fr);
     
     
    		while (br.ready()){
    			i++;
    			br.readLine();
    		}
     
    		br.close();
    		System.out.println(i); // => 889379
     
    	}
    ne prend q'une dizaine de secondes sur un fichier d'une centaine de méga, certes la boucle est sans réel traitement ... mais pour dire que le problème ne semble pas etre du coté de java.
    Peut-etre que le traitement bloque ?, que la condition de fin ne permet pas un arret correct ?.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 44
    Par défaut
    j'ai fait un test en retirant tous les traitements, et il semblerait bien que le probleme ne vienne en effet pas de là mais plutot du nombre de requete SQL qu'il engendre alors

    MErci tout de meme de la reponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/12/2014, 15h23
  2. Faire un XOR sur une chaine/long binaire TRES/TROP longue
    Par bobic dans le forum API standards et tierces
    Réponses: 19
    Dernier message: 31/08/2011, 09h24
  3. Java File Reader sur un tres long fichier avec coldfusion
    Par dehian dans le forum Coldfusion
    Réponses: 0
    Dernier message: 07/12/2007, 17h43
  4. decalage à gauche sur une tres grand tableau de char
    Par petitours dans le forum C++Builder
    Réponses: 10
    Dernier message: 14/07/2005, 22h40
  5. [Java 5] Réflexion sur les énumérations type-safe
    Par rozwel dans le forum Langage
    Réponses: 5
    Dernier message: 04/12/2004, 20h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo