Introdução
O arquivo de propriedade é uma ótima opção para passar configurações para uma determinada aplicação que necessitada de configurações externas e a mesma em si não pode ser alterada. Um exemplo seria um programa que conecta a um banco de dados e precisa de dados para realizar a conexão, sem que o código fonte do mesmo seja alterado. Um outro exemplo seria guardar informações que um determinado arquivo .jar pode vir a utilizar.
Neste artigo será demonstrado de maneira simples como se criar um arquivo de propriedades e fazer um programa criado em Java ler o mesmo e exibir seu conteúdo no console do usuário.
Crie o arquivo de propriedade
O arquivo de propriedade nada mais que um arquivo simples com extenção .properties. O mesmo deve ser salvo em local pré-determinado e que seu programa Java saiba onde se encontra, para que ele possa ser lido.
No exemplo demonstrado neste artigo o arquivo de propriedades foi salvo dentro do projeto em uma pasta com o nome properties, porém, o arquivo de propriedade pode ser salvo em qualquer lugar do seu computador. Entretanto não se esqueça de colocar sua localização correta no código fonte do seu programa, pois se não for colocado o caminho correto do arquivo, será lançada uma exceção.
Figura 1: Localização do arquivo de propriedades dentro da pasta properties no projeto
Neste artigo o arquivo de propriedades dados.properties contém algumas informações básicas para serem utilizadas para realizar uma conexão fictícia a um servidor qualquer.
Listagem 1: Arquivo de propriedades dados.properties
prop.server.host = 192.168.101.13
prop.server.password = a24bad3dsfa
prop.server.login = robson
Figura 2: Conteúdo do arquivo de propriedades dados.properties visto no Eclipse
Crie um programa para ler o arquivo de propriedade
Para fazer a leitura do arquivo de propriedades, foi criado um programa simples que abre o arquivo de e capta as informações contidas no mesmo, realizando a exibição do seu conteúdo no console.
Figura 3: Classe Manipulador
Listagem 2: Classe Manipulador
package gomes.fernando.robson;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class Manipulador {
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 {
String login; //Variavel que guardará o login do servidor.
String host; //Variavel que guardará o host do servidor.
String password; //Variável que guardará o password do usúario.
System.out.println("************Teste de leitura do arquivo de propriedades************");
Properties prop = getProp();
login = prop.getProperty("prop.server.login");
host = prop.getProperty("prop.server.host");
password = prop.getProperty("prop.server.password");
System.out.println("Login = " + login);
System.out.println("Host = " + host);
System.out.println("Password = " + password);
}
}
O método getPropt():
Properties props = new Properties(); - Instancia-se a classe Properties na variável props.
FileInputStream file = new FileInputStream("./properties/dados.properties"); - Adiciona o arquivo .properties à variável file.
props.load(file);- Carrega o arquivo de propriedades na variável props.
Caso fosse necessário obter um arquivo de propriedades fora do próprio projeto, seria necessário apenas informar a localização do mesmo no trecho abaixo:
FileInputStream file = new FileInputStream("./properties/dados.properties")
Sendo necessario apenas alterar o trecho ./properties/dados.properties para o local onde está o arquivo de propriedades. Abaixo e possível ver um exemplo do trecho de código que é indicando o arquivo de propriedades em um local diferente.
FileInputStream file = new FileInputStream("/home/robson/prop/dados.properties")
Neste exemplo o arquivo de propriedade está localizado em “/home/robson/prop/dados.properties”.
O método main()
Properties prop = getProp(); - Instancia-se na variável prop um objeto do tipo Properties.
login = prop.getProperty("prop.server.login"); - Pega-se a propriedade do item prop.server.login e atribui o valor do mesmo à variável login.
host = prop.getProperty("prop.server.host"); - Pega-se a propriedade do item prop.server.host e atribui o valor do mesmo a variável host.
password = prop.getProperty("prop.server.password"); - Pega-se a propriedade do item prop.server.host e atribui o valor do mesmo a variável password.
System.out.println(“Login = “+ login); - Exibe o conteúdo da variável loginno console.
System.out.println(“Host = “+ host); - Exibe o conteúdo da variável host no console.
System.out.println(“Password = “+ password); - Exibe o conteúdo da variável password no console.
Resultado da execução do programa
Quando o programa for executado, serão obtidos os valores contidos no arquivo de propriedades dados.properties e os mesmos serão demonstrados no console através comando System.out.println.
Figura 4: Resultado da execução do programa visto no console do Eclipse
Listagem 3: Resultado no console da execução do programa Utilizador_arquivo_propriedades.
**********Teste de leitura do arquivo de propriedades**********
Login = robson
Host = 192.168.101.13
Password = a24bad3dsfa
Conclusão
Como foi possível ver ao longo do artigo, a utilização de arquivos de propriedades pode vir a ser muito útil para programas que dependem de configurações externas para seu funcionamento como, por exemplo, um programa que realiza consulta ao banco de dados e precisa de informações básicas para realizar conexão ao mesmo.