Código Java:
Ver original
import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalINIConfiguration; public class GrabadoFicheros{ public HierarchicalINIConfiguration ficheroIncrementos; public GrabadoFicheros(){ try { ficheroIncrementos = new HierarchicalINIConfiguration("D:\\incrementos.cfg"); } } public synchronized void setContadorA(int valor){ try{ ficheroIncrementos.getSection("incrementos").setProperty("contadorA", valor); ficheroIncrementos.save(); } } public synchronized void setContadorB(int valor){ try{ ficheroIncrementos.getSection("incrementos").setProperty("contadorB", valor); ficheroIncrementos.save(); } } }
Y el contenido del archivo incrementos.cfg:
Código .CFG:
Ver original
[incrementos] contadorA = 1 contadorB = 2
Pues resulta que a veces cuando invoco al método setContadorA para que modifique el valor de la variable contadorA no lo hace.
Supóngase que la variable contadorA del archivo incrementos.cfg tiene el valor 1, pues cuando invoco al método y hago setContadorA(5) no modifica el valor por 5. No salta ninguna excepción, todo OK, pero no cambia el valor.
¿Por qué no cambia el valor?
¿Cómo podría saber si el archivo está siendo usado por otro método?
¿Cómo podría saber si el archivo está bloqueado en el momento que hago setContadorA(5)?
Muchas gracias de antemano.
Saludos.