Olá pessoal,
tenho um método que recebe o path de um arquivo de propriedades e retorna um InputStream. O método precisa ler esse arquivo, porém esse arquivo pode ser externo ou interno. Isto é, o arquivo pode estar no c: ou na estrutura de diretórios da aplicação.
Eu fiz o código abaixo.
private InputStream getInputStreamDoAquivoDeProperties(
String pathArquivoProperties) throws Exception {
InputStream propertiesInputStream;
File file = new File(pathArquivoProperties);
if (file.exists()) {
propertiesInputStream = new FileInputStream(file);
} else {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
propertiesInputStream = loader.getResourceAsStream(pathArquivoProperties);
if (propertiesInputStream == null){
// throws alguma coisa
}
}
return propertiesInputStream;
}
Alguém tem alguma solução mais elegante.
Abraços