Lorsque je crée un properties, je ne peux pas faire deux lignes voir plus en un coup.
Effectivement, avec le code suivant, on ne fait qu'une ligne en traitement.
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
|
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String urlFichier = "d:/A surveiller/Test.properties";
String Section = "Section";
String Cle = "Cle";
String Donnee = "Ma donnée1";
Properties propFichier = new Properties();
propFichier.setProperty(Section + "." + Cle, Donnee);
try {
OutputStream FichierSortie = new FileOutputStream(urlFichier);
OutputStreamWriter fw = new OutputStreamWriter(FichierSortie, "ISO-8859-1");
propFichier.store(fw, "Test commentaire");
fw.flush();
fw.close();
jTextArea1.setText("Fichier crée sous: " + urlFichier + "\n");
jTextArea1.setText(Section + "." + Cle + " = " + Donnee +"\n");
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
} |
Je me suis naturellement dit: "il faudrait surement que j'adjoigne alors le même code que celui qui ajoute une ligne, traiter plus haut":
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
|
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String urlFichier = "d:/A surveiller/Test.properties";
String NewSection = "Section2";
String NewCle = "Cle2";
String NewDonnee = "Ma donnée2";
Properties propFichier = new Properties();
try {
propFichier.load(new FileInputStream(urlFichier));
propFichier.setProperty(NewSection + "." + NewCle, NewDonnee);
OutputStream FichierSortie = new FileOutputStream(urlFichier);
OutputStreamWriter fw = new OutputStreamWriter(FichierSortie, "ISO-8859-1");
propFichier.store(fw, "Test commentaire");
fw.flush();
fw.close();
jTextArea1.setText("Fichier modifié sous: " + urlFichier + "\n");
jTextArea1.setText(NewSection + "." + NewCle + " = " + NewDonnee +"\n");
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
} |
D'ou ma première question, peut-on faire cela, ou je crée deux objets, un qui crée, un autre qui ajoute et ainsi de suite ?
Seconde question, pourquoi je ne ferais pas un tableau contenant toute mes clefs et mes données et qui créerais directement toute les lignes du fichier ?
Enfin est ce que je pourrait afficher, dans chaque cas, une fenêtre modale indiquant (pour tester mon code) les manipulations que fait ma classe
Partager