Secondo voi se io ho un file fi configurazione esterno come faccio ad aggiungere una nuova properties da codice?
Ho provato con il metodo put("Chiave", "valore"), ma non sembra accadere nulla ...
Secondo voi se io ho un file fi configurazione esterno come faccio ad aggiungere una nuova properties da codice?
Ho provato con il metodo put("Chiave", "valore"), ma non sembra accadere nulla ...
Probabilmente devi poi salvare il file di proprietà
con l'istruzione store(InputStream in) della classe
Properties.
Vedi questo esempio; spero che ti servirà.
import java.util.*;
import java.io.*;
public class PropertiesTest
{
public static void main(String args[])
{
//Prima genero un file Impostazioni.ini
Properties settings = new Properties();
settings.put("Font", "Courier");
settings.put("Path", "c:" + File.separator + "documenti" + File.separator);
memorizza(settings);
// carico il file di proprietà
// come se fosse stato creato da altri
carica_visualizza();
System.out.println("------------------------------------");
//ora aggiungo una nuova proprietà e salvo
settingsLoaded.put("Color", "blue");
memorizza(settingsLoaded);
// visualizzo il file Impostazioni.ini con la proprietà aggiunta
carica_visualizza();
}
private static void memorizza(Properties properties)
{
try {
FileOutputStream out = new FileOutputStream("Impostazioni.ini");
properties.store(out, "Impostazioni di ambiente");
} catch (IOException e) { e.printStackTrace(); }
}
private static void carica_visualizza()
{
settingsLoaded = new Properties();
try {
FileInputStream in = new FileInputStream("Impostazioni.ini");
settingsLoaded.load(in);
} catch (IOException e) { e.printStackTrace();}
Enumeration e = settingsLoaded.propertyNames();
while (e.hasMoreElements())
{
String key = (String)e.nextElement();
System.out.println
(key + "=" + settingsLoaded.getProperty(key));
}
}
private static Properties settingsLoaded;
}