java read update properties file in java

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);
    }

}
post-author