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.