Bonjour à tous,
Voici ma problématique:
Je dois bosser sur des fichiers de type .csv avec une certaine norme.
Pour m'aider dans ma tache, j'ai créer 2-3 classes java afin de faciliter les choses... Notamment une classe Ligne qui contient... une ligne du fichier d'origine, ainsi que diverses méthodes, et une classe Fichier, qui contient une LinkedList de Ligne et quelques autres trucs.
Fichier me permet de manipuler mon fichier (changer une colonne, modifier telle colonne de telle ligne, enlever telle ligne, rajouter telle autre, etc...) et possède une méthode save(File sortie); qui permet de le sauvegarder là où on lui dit
Le constucteur de Fichier ressemble à ça:
Donc, tout ceci, c'est bien sympa, ça me permet de manipuler le fichier comme je veux, mais j'ai a manipuler des fichiers de 200Mo des fois. Et là, j'ai une OutOfMemoryException heap size, comme vous devez vous en douter...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public Fichier(File file) throws IOException { reader = new BufferedReader(new FileReader(file)); lignes = new LinkedList(); String buffer; while ((buffer=reader.readLine())!=null) { lignes.add(new Ligne(buffer)); } reader.close(); }
La question est donc de savoir comment procéder pour que tout ceci fonctionne sans avoir a mettre un -Xmx512m par exemple...
Merci beaucoup...
Partager