Bonjour,
je souhaite exporter une sélection d'une BDD MySQL vers un fichier plat csv, les champs doivent être séparer par des points virgules.
Donc je fais ma sélection, et j'écris les enregistrements sur un fichier ligne par ligne.
voila le code ke j'utilise pour l'ecriture:
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
 
public void save(Vector<String> vecteur)
	   {
 
		   try
		   { FileWriter lu = new FileWriter("toto.txt",true);
		   //Créer un objet java.io.FileWriter avec comme argument le mon du
		   //fichier dans lequel enregsitrer
		      BufferedWriter out = new BufferedWriter(lu);
		      //Mettre le flux en tampon (en cache)
		      String ecrir = join(";",vecteur);
		      out.write(ecrir+NEW_LINE);
 
		   //Balancer dans le flux le contenu de la zone de texte
		      out.close(); // Fermer le flux (c’est
		   //toujours mieux de le fermer explicitement)
		    } catch (IOException er) {;}
 
 
	   }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
public static String join(String separator, Vector<String> a){
	    StringBuffer buffer = new StringBuffer("");
 
		  for (int i=0 ; i<a.size() ; i++){
		    buffer.append(a.elementAt(i));
		    if (i + 1 < a.size()){
		      buffer.append(separator);
	      }
		   }
 
		  return buffer.toString();
	  }
Mon problème, c'est que je fais une sélection de plus de 100 000 enregistrements, et ça me prend beaucoup de temps pour l'écrire sur un fichier.

Pouvez vous me donner une technique, une stratégie ou API pour une écriture plus rapide???

Merci d'avance.