Bonjour,
je fais une écriture de fichier en sortie de mon programme, mais quand je vérifie le fichier après, je trouve qu'il en manque des données.
j'ai lu sur la doc que la méthode flush sert à forcer le BufferedWriter à écrire toutes les données dans l'outputstream, mais à quel niveau je devrais l'intégrer dans mon code?
Merci

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
public double WriteFile (int pUsr, int art){
 
	  	  double pr = 0;
 
		     HashMap clts = getCls();
		     HashMap<Integer,Integer> ress =getPrds();
		     TreeMap ids = mapIdUsr;
 
		      FileWriter st1 = null;
		      BufferedWriter st2 = null;
 
		      String clt ; 
		      String prd ;
		      String prx ;
 
		      try{
		      st1 = new FileWriter("C:/myFile.txt");
		          st2 = new BufferedWriter(st1);
 
		   	 for (Iterator itr = clts.keySet().iterator(); itr.hasNext();) 
		         {
		           pUsr = (Integer)itr.next();
		             for (Iterator it = ids.keySet().iterator(); it.hasNext();)
				  	  {
				  art = (Integer)it.next();
				 	  pr = tablePr [pUsr][art];
 
					 clt = String.valueOf(pUsr);
					 prd = String.valueOf(art);
					 prx= String.valueOf(pr);
 
					      st2.write(prx+" ");						                                }
 
				  	st2.newLine();
 
				  	  }
		        			      	}
 
	  catch (IOException e) {
	  System.out.println("Pb file");
	  }
 
	  finally{
	  try  {
	    if (st2 != null)
	    st2.close();
	    if (st1 != null)
	    st1.close();
	        }
	    catch (IOException e) {
	                          } 
	  						}
	  	return pr;
	  }