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 ?
Merci beaucoup pour votre aide !
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; } }
Partager