Bonjour, ce script est sensé lire dans le File: OpenFile.getSelectedFile() (ouvert avec le file chooser) et ecrire dans le File "f" déja crée au debut de mon script (c'est qu'un bout). Je ne comprend pas pourquoi la syntaxe:
n'écrit pas dans mon fichier "f".
Code : Sélectionner tout - Visualiser dans une fenêtre à part ecrtitureAvecBuffer.write(ligne);
Besoin de votre aide je vous mets le script afin que vous puissiez l'executer... Je vous envoie un exemple de mon fichier de depart et mon fichier converti que j'attend avoir...
Merci d'avance 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 String ligne; boolean swofMode = false; boolean sgofMode = false; try { BufferedReader lecteurAvecBuffer = new BufferedReader(new FileReader(OpenFile.getSelectedFile())); BufferedWriter ecrtitureAvecBuffer = new BufferedWriter(new FileWriter(f)); System.out.println("Full path Reader: " + OpenFile.getSelectedFile().toString()); System.out.println("Full path Writer: " + f.toString()); while ((ligne = lecteurAvecBuffer.readLine()) != null) { //je suis en train de lire le fichier ligne par ligne System.out.println(ligne); if (ligne.trim().equals("SWOF")) { swofMode = true; sgofMode= false; System.out.println("je suis mode SWOF"); ecrtitureAvecBuffer.write(ligne); } else if (ligne.trim().equals("SGOF")) { sgofMode = true; swofMode = false; System.out.println("je suis mode SGOF"); ecrtitureAvecBuffer.write(ligne); } else if (ligne.substring(0, 2).equals("--") || ligne.equals("/") || (ligne.trim().contains("==")) || ligne.trim().equals("SWOF") || ligne.trim().equals("SGOF") || ligne.trim().isEmpty() ) { System.out.println("commentaire, fin de table, ou ligne vide, SWOF, SGOF => je l'ignore "); ecrtitureAvecBuffer.write(ligne); } else { //vrai ligne avec des valeurs String[] splitted = ligne.trim().split(" "); // space if (splitted.length != 4) { throw new RuntimeException("Erreur: la ligne '"+ligne+"' ne contient pas 4 fragments"); } else { if (swofMode) { splitted[3] = "nouvel valeur SWOF"; } else if (sgofMode) { splitted[3] = "nouvel valeur SGOF"; } ligne = splitted[0] + "\t" + splitted[1] + "\t" + splitted[2] + "\t" + splitted[3]; System.out.println("new line = " + ligne.trim()); } System.out.println("et ma ligne devient : " + ligne); ecrtitureAvecBuffer.write(ligne); } } ecrtitureAvecBuffer.close(); } catch(Exception ex) { System.out.println("Erreur : je sors !"); Logger.getLogger(KrPcImporterView.class.getName()).log(Level.SEVERE, null, ex); }
Partager