PDA

Visualizza la versione completa : [JAVA] Classe Properties


Rollotan
03-07-2001, 14:22
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 ...

fabio milazzo
01-06-2002, 18:31
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;
}

Loading