Qual a diferença entre:
getClass().getResourceAsStream(“vendas.conf”);
e
Thread.currentThread().getContextClassLoader().getResourceAsStream(“vendas.conf”);
???
Qual a diferença entre:
getClass().getResourceAsStream(“vendas.conf”);
e
Thread.currentThread().getContextClassLoader().getResourceAsStream(“vendas.conf”);
???
Pelo q eu li e entendi, é ovo no brasil e outro no japao, mas saiu da mesma galinha do nordeste. Ou seja, o método do getClass() chama o do seu ClassLoader, coisa que vc ta fazendo direto no Thread.
Eu acho :roll:
Só que o primeiro não funciona, mas o segundo sim.
getClass().getResourceAsStream(): procura o resource no mesmo diretorio do .class.
getClass().getClassLoader().getResourceAsStream(): procura no CLASSPATH.
[quote=“cv”]getClass().getResourceAsStream(): procura o resource no mesmo diretorio do .class.
getClass().getClassLoader().getResourceAsStream(): procura no CLASSPATH.[/quote]
Ahhhh…
Um post de 8 anos… ajudando até hoje… valeu gente!
Bom dia Diego,
Você poderia, por gentileza, ilustrar o seu exemplo, com código, etc… Obrigado!
[]'s
Sim, claro!
Antes de intender o método, eu estava utilizando da seguinte maneira…
getClass().getRessourceAsStream("arquivo.properties");
utilizando assim, o método presume que seu recurso está no mesmo pacote da classe em questão e não é necessário informar o caminho completo do recurso.
Desta maneira, só é possível localizar recuros dentro do pacote ou sub pacotes.
Da maneira abaixo, o classloader inicia a busca na raiz do classpath, sendo necessário informar todo o caminho e com isso, possibilitando a busca em qualquer pacote.
getClass().getClassLoader().getRessourceAsStream("com/teste1/arquivo.properties");
getClass().getClassLoader().getRessourceAsStream("com/arquivo.properties");
getClass().getClassLoader().getRessourceAsStream("com/teste2/arquivo.properties");