Há momento que precisamos rodar algum .jar ou até mesmo um programa e precisamos mudar algum parametro que o mesmo utiliza sem mecher no código fonte, uma solução simples para este problema é utilizar arquivos de propriedades.
Abaixo vamos ver uma maneira simples de criar uma arquivo de propriedades e fazer com o seu programa java leia o mesmo.
1º Crie o arquivo de propriedade.
O arquivo de propriedade nada mais que um arquivo com extenção .properties. O mesmo deve ser salvo em algum pré-determinado em seu programa java, para que o mesmo seja lido, nesse exemplo o meu arquivo de properties foi salvo dentro do projeto em uma pasta com o nome properties. Você pode salvar o seu arquivo de propriedades em qualquer lugar do seu computador, porém não se esqueça de colocar sua localização correta no seu programa.
Conteúdo do arquivo de propriedades:
prop.nome = Mario
prop.dir = /tmp
2º Crie um programa para ler o arquivo de propriedade.
Conteúdo do programa:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
/**
*
* @author Robson Fernando Gomes
* http://maguscode.blogspot.com
*
*/
public class ArquivoDePropriedades {
public static Properties getProp() throws IOException
{
Properties props = new Properties();
FileInputStream file = new FileInputStream("./properties/dados.properties");
props.load(file);
return props;
}
public static void main(String args[]) throws IOException
{
System.out.println("**********Teste usando arquivo de propriedades**********");
Properties prop = getProp();
System.out.println("Nome = "+prop.getProperty("prop.nome"));
System.out.println("Diretorio = "+prop.getProperty("prop.dir"));
}
}
O código pode ser simplicado da seguinte maneira:
No primeiro método da classe:
Properties props = new Properties(); - Instancia-se a classe Properties
FileInputStream file = new FileInputStream("./properties/dados.properties"); - Mostra a localização do arquivo .properties
props.load(file); - Carrega o arquivo na variavel props.
No segundo método da classe:
Properties prop = getProp(); - Obtém o objeto Properties.
System.out.println("Nome = "+prop.getProperty("prop.nome")); - Pega-se a propriedade do item prop.nome.
System.out.println("Diretorio = "+prop.getProperty("prop.dir")); - Pega-se a propriedade do item prop.dir.
Resultado da execução do programa:
Saída:
**********Teste usando arquivo de propriedades**********
Nome = Mario
Diretorio = /tmp