Saltar al contenido

java read update properties file in java

  • por

El archivo properties tienen que estar en la carpeta src (Source Package) y la clase en cualquier paquete y directamente llamar a su metodo que devuelve un nuevo numero de operacion (String)


#Numero de Operacion para la Cola MQ
#Mon Nov 17 17:33:14 COT 2014
operacion=00000003


package app.mq;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class NumeroOperacionMQ {

public static void main(String args[]){

System.out.println("Op:" + getNewValOperation());
}

public static String getNewValOperation() {
String operacionOld = getProperties("operacion");
long numero = Long.valueOf(operacionOld).longValue();
numero = numero + 1;
String numeroFormato = getNumberFormat(numero, 8);
updateProperties("operacion", numeroFormato);
return numeroFormato;
}

public static String getNumberFormat(long number, int width) {
long wrapAt = (long) Math.pow(10, width);
return String.valueOf(number % wrapAt + wrapAt).substring(1);
}

public static void updateProperties(String key, String val) {

Properties props = new Properties();

String propsFileName = "./src/operacionMQ.properties";
try {

FileInputStream configStream = new FileInputStream(propsFileName);
props.load(configStream);
configStream.close();

props.setProperty(key, val);

FileOutputStream output = new FileOutputStream(propsFileName);
props.store(output, "Numero de Operacion para la Cola MQ");
output.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

public static String getProperties(String key) {
Properties props = new Properties();
String propsFileName = "./src/operacionMQ.properties";
try {
FileInputStream configStream = new FileInputStream(propsFileName);
props.load(configStream);
configStream.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return (String) props.get(key);
}

}

Si te ha interesado este artículo y deseas un apoyo o asesoría en algún requerimiento, envíame un mensaje a: (info@juliopari.com) o sino a través de Linkedin: https://www.linkedin.com/in/juliopari/