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 :

Lecture données importantes dans tableau


Sujet :

Entrée/Sortie Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 84
    Par défaut Lecture données importantes dans tableau
    Bonjour,

    j'ai un probleme lors de la lecture de donée contenue dans plusieurs fichiers. les données sont stockées dans plusieurs fichiers car il y a une grande quantité de de donnée plusieurs centaines de Mo.

    J'utilise la class en fichier joint qui implement une lecture de fichier par la class BufferedReader.

    dans mon exemple qui plante, j'ai 40 fichiers de 100 lignes chacun Il y a 2000 valeurs type double sur chaque ligne separées par une vigule. la ligne est terminée pas un retour chariot.

    ce que je veux c'est lire l'ensemble des fichiers et de créer un tableau de 4000 element de type String contenant les 4000 lignes.

    voici la methode de lecture des données:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public String[] Get_Data() throws Exception {
     
    		String[] Data = new String[0];
     
    		ReaderFile ROutputFile;
    		String[] ListF = new File(Path).list();
     
    		for (int i=0; i<ListF.length; i++){
     
    			if (ListF[i].startsWith(Filename) && ListF[i].endsWith(".dat")){
     
    				ROutputFile = new ReaderFile(Path + ListF[i]);
     
    				try {
    					ROutputFile.Open();
     
    					while(!ROutputFile.EOF()){
     
    						String[] tmp = new String[Data.length + 1];
    						for (int id=0; id<Data.length; id++)
    							tmp[id] = Data[id];
     
    						Data = null;
    						Data = tmp;
    						Data[Data.length - 1] = ROutputFile.Get_Line();
    						tmp = null;
    						System.out.println("" + Data.length);
     
    						if (Data.length == 2077)
    							System.out.println("debug");
    					}
    					System.out.println(Path + ListF[i]);
    				} catch (Exception e) {
    					//<tbd>
    				} finally{
    					ROutputFile.Close();
    				}
    			}
    		}
    		return Data;
    	}
    Path est le chemin ou sont contenue les fichiers et filename le debut du nom des fichiers.

    voici l'erreur que j'ai à la lecture du 2077 lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
    	at java.util.Arrays.copyOfRange(Unknown Source)
    	at java.lang.String.<init>(Unknown Source)
    	at java.lang.StringBuffer.toString(Unknown Source)
    	at java.io.BufferedReader.readLine(Unknown Source)
    	at java.io.BufferedReader.readLine(Unknown Source)
    	at file_manager.ReaderFile.Get_Line(ReaderFile.java:74)
    	at system.project.xmlfile.DatFile.Get_Data(DatFile.java:98)
    je n'arrive pas à trouvé mon erreur. si on regarde le gestionnaire des taches de windows on ne voit pas de fuite de memoire.

    j'ai essayé de met tot de même des System.gc() pour voir mais ca n'a aucun effet.

    Quelqu'un à t'il une idée sur la question?
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Bug saisie de données userform dans tableau
    Par misterW dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/02/2015, 21h38
  2. [XL-2013] Problème copie données calulées dans tableau en VBA
    Par joel50 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/10/2014, 08h47
  3. Lecture données Applet dans ma Servlet
    Par Walmas dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 20/11/2011, 20h39
  4. Filtre données positives dans tableau
    Par benidget dans le forum QlikView
    Réponses: 6
    Dernier message: 16/12/2010, 08h21

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