Uma tarefa comum no desenvolvimento é a leitura de arquivos de configuração pela aplicação. A maioria das soluções lê o arquivo somente uma vez e carrega em memória, ou toda a vez que é chamado, ele carrega a leitura. Uma boa prática é ler somente o arquivo quando ele foi alterado. Dessa forma, quando houver uma alteração nesse arquivo conseguimos carregar os dados novos e quando não há alterações, não consumimos recursos.
Para fazer isso é só usar o método lastModified() da classe File, verificar se ele é o mais recente, se for, carregar o arquivo de properties. Segue o exemplo;
public class ConfigPropertiesUtil {
private static long lastModifiedDate = -1;
private static Properties properties = new Properties();
public static Properties getProperties() throws IOException,
FileNotFoundException {
File configFile = new File("/diretorio/config.properties");
if (configFile.lastModified() > lastModifiedDate) {
properties.clear();
properties.load(new FileInputStream(configFile));
lastModifiedDate = configFile.lastModified();
}
return properties;
}
}
Agora é só criar o arquivo de configuração e toda a vez que ele for atualizado e você chamar o método getProperties() ele irá recarregar o arquivo, caso contrário, ele utilizará a versão já em memória.
up
0
down
Preciso criar um programa(Interface)em java que quando o usuário selecionar uma filial num combo box, ela terá que pegar esse filial e alterá-la num arquivo PROPERTIES que se encontra dentro de um JAR de um outro programa e em seguida executar esse programa da qual acabei de alterar o PROPERTIES. Como fazer? OBS: Sou leigo no java.