
import java.util.*;
import java.io.*;

public class TestandoProperties {

    public static void criarProperties (String nomeFileProperties) {

    try {

    Properties props = new Properties(); 

            FileOutputStream out = new FileOutputStream(nomeFileProperties);

            props.setProperty("nomeDoUsuario", "Carlos Lima");
            props.setProperty("empresa", "Terra Telecomunicacoes");
            props.setProperty("idade", "34");
            props.setProperty("nomeDoArquivo", nomeFileProperties);

            props.store(out,"--Arquivo do Configuracao ==> inclusao ---");
 

          } catch (FileNotFoundException e ) {
            System.err.println("Erro: " + e.getMessage());

          } catch (IOException e ) {
            System.err.println("Erro: " + e.getMessage());
 
      }

    }

    public static void recriarProperties (String nomeFileProperties, 
                                               Properties propsOld)
    {

    Properties props = new Properties(); 

    try {

            FileOutputStream out = new FileOutputStream(nomeFileProperties);

            Enumeration enumKey = propsOld.propertyNames();
            while (enumKey.hasMoreElements()) {
              String key = enumKey.nextElement().toString();
              String value = propsOld.getProperty(key);
              props.setProperty(key, value);
            }
            props.store(out,"--Arquivo do Configuracao ==> Alteracao ---");

          } catch (FileNotFoundException e ) {
            System.err.println("Erro: " + e.getMessage());

          } catch (IOException e ) {
            System.err.println("Erro: " + e.getMessage());
 
      }

    }

    public static void gravarProperties (String nomeFileProperties) {

       File pathFile = new File(nomeFileProperties);
       LoadProperties prop;
       if (pathFile.exists()) {
           prop = new LoadProperties (nomeFileProperties);
           recriarProperties(nomeFileProperties, prop.app);
       } else {
           criarProperties(nomeFileProperties);
       }
       prop = new LoadProperties (nomeFileProperties);
       System.out.println (prop.printProperties());

    }

    public static void main (String[] args) {

       String fileProperties = "defaultProperties.txt";
       File pathFile = new File(fileProperties);
       gravarProperties(fileProperties);

    }


}


