2009-11-02 17 views
12

estoy escribiendo la aplicación independiente de Java para la supervisión de la producción. una vez que comienza a funcionar, la API se configura para los valores predeterminados, que se establece en el archivo .properties. en estado de ejecución, la configuración de la API se puede cambiar y el archivo .properties se debe actualizar en consecuencia. Hay una manera de lograr esto ? o hay otros enfoques para implementar esto?java update properties file run time

Gracias de antemano

Respuesta

16

La clase Properties Java (api here) especifica "carga" y los métodos de "tienda" que debe hacer exactamente eso. Use FileInputStream y FileOutputStream para especificar el archivo para guardarlo.

9

Se puede usar un enfoque muy simple basado en la clase java.util.Properties que tiene de hecho un load y store métodos que se pueden utilizar en conjunción con un FileInputStream y FileOutputStream:

Pero, en realidad, me gustaría recomendar el uso de un biblioteca de configuración existente como Commons Configuration (entre otros). Consulte el Properties Howto para ver cómo cargar, guardar y volver a cargar automáticamente un archivo de propiedades usando su API.

0

Además del método de la clase Propertiesload y store, también puede utilizar la biblioteca de configuración de Apache Commons, que proporciona funciones para manipular fácilmente los archivos de configuración (y no sólo .properties).

0

La API de configuración común de Apache proporciona diferentes estrategias para volver a cargar los archivos de propiedades en tiempo de ejecución. FileChangedReloadingStrategy es uno de ellos. Consulte este link para ver un ejemplo de recarga de archivos de propiedad en tiempo de ejecución utilizando FileChangedReloadingStrategy.

3

Estoy totalmente de acuerdo con que la API de configuración de Apache Commons es realmente una buena opción.

Este ejemplo propiedades de actualización en tiempo de ejecución

File propertiesFile = new File(getClass().getClassLoader().getResource(fileName).getFile());   
PropertiesConfiguration config = new PropertiesConfiguration(propertiesFile);   
config.setProperty("hibernate.show_sql", "true"); 
config.save(); 

Desde el puesto de how to update properties file in Java

Esperanza esta ayuda!