Bonjour,

je vais pas rentrer dans les détails de l'application mais a un moment celle ci crée un fichier backup qui ne s'affiche pas au final, si je relance l'appli il se passe un truc etrange... le premier backup apparait et si je le supprime, le deuxieme apparait...

Un probleme de fermeture certainement ?

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
 
public class ModiFile {
 
	public static boolean modiFile(String name)
	{
		String xmlline = null;
		int XMLVers = LectureXML.lectureXML(name);
		int XSLVers = LectureXSL.lectureXSL(name);
 
		DateFormat dateFormat = new SimpleDateFormat("dd-MM_");
		Date actuelle = new Date();
 
		if (XSLVers<XMLVers)
		{
			try{
 
		    	// Open the file that is the first 
		    	// command line parameter
		    	FileInputStream fstream = new FileInputStream("/export/home/rfnetco/rfcfg_xml/switch_export/umts/dbupload/xsl/"+name+".xsl");
 
				// Get the object of DataInputStream
		    	DataInputStream in = new DataInputStream(fstream);
		    	BufferedReader br = new BufferedReader(new InputStreamReader(in));
		    	String strLine;
 
		    	// Put version number in string
		    	String versionstr = (String.valueOf(XMLVers));
		    	versionstr = versionstr.substring(0, 2)+"."+versionstr.substring(2, 4);
 
		    	// Go to the 2nd line
		    	br.readLine();
		    	strLine = (br.readLine());
		    	//System.out.println(versionstr);
 
		    	xmlline = strLine.substring(0, 218)+versionstr+strLine.substring(223, strLine.length());
		    	//System.out.println(xmlline);
 
		    //Close the input stream
		    in.close();
		    }catch (Exception e){//Catch exception if any
		      System.err.println("Error reading XSL file : " + e.getMessage());
		    }
 
		    try {
 
				// Create file
				File backup = new File("/export/home/rfnetco/rfcfg_xml/switch_export/umts/dbupload/xsl/backup"+dateFormat.format(actuelle)+name+".xsl");
 
				if(backup.exists() == false)
				{
					backup.createNewFile();
				}
 
 
	            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("/export/home/rfnetco/rfcfg_xml/switch_export/umts/dbupload/xsl/"+name+".xsl")));
 
	            StringBuffer sb = new StringBuffer();
	            StringBuffer back = new StringBuffer();
 
	            String line;    
	            int nbLinesRead = 0;       
	            while ((line = reader.readLine()) != null) {
	            	back.append(line + "\n");
	                if (nbLinesRead != 1) {
	                    sb.append(line + "\n");
	                }
	                else sb.append(xmlline + "\n");
	                nbLinesRead++;
	            }
	            reader.close();
 
	            BufferedWriter out = new BufferedWriter(new FileWriter("/export/home/rfnetco/rfcfg_xml/switch_export/umts/dbupload/xsl/"+name+".xsl"));
	            BufferedWriter outback = new BufferedWriter(new FileWriter("/export/home/rfnetco/rfcfg_xml/switch_export/umts/dbupload/xsl/backup"+dateFormat.format(actuelle)+name+".xsl"));
 
	            outback.write(back.toString());
	            outback.flush();
	            outback.close();
 
	            out.write(sb.toString());
	            out.flush();
	            out.close();
 
 
	            System.out.println("Modification Done and backup name is : backup"+dateFormat.format(actuelle)+name+".xsl");
 
	        } catch (Exception e) {
	            return false;
	        } 
  	  	} else System.out.println("XML/XSL versions already equals for "+name+" file.");
		return true;
	}
 
}
Merci beaucoup pour votre aide !