Bonjour à tous,

J'ai réalisé un programme qui fait en gros le boulot d'un ETL (extraction de données, transformation et export sous fichier .csv)

Algo :

1- création du fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
PrintWriter printWriter = new PrintWriter(new BufferedWriter(
					new FileWriter("mon_fichier.csv")));
2- Exécution d'une requête sql qui me ramène toutes les lignes dans un seul objet (j'utilise une API spéciale pour ça)

3- Boucle for pour lire dans cet objet ligne par ligne, traitement puis écriture dans le fichier de sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
printWriter.println(champ1+";"+champ2+";"+champ3);

4- Fermeture du fichier :


Le souci c'est qu'il n'écris pas toujours 100% des lignes extraites : parfois il n'en écrit que la moitié, sans que j'arrive à déterminer la cause du problème... J'ai remarqué cependant qu'il me le faisait seulement dans la boucle la plus complexe,et quand il doit traiter un grand nombre de lignes.

Du coup j'ai augmenté à fond la mémoire de la machine virtuelle... sans aucun résultat...

Auriez vous une idée ? Merci pour toute aide!