getResourceAsStream()

7 respostas
danieldestro

Qual a diferença entre:

getClass().getResourceAsStream(“vendas.conf”);

e

Thread.currentThread().getContextClassLoader().getResourceAsStream(“vendas.conf”);

???

7 Respostas

brlima

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:

danieldestro

Só que o primeiro não funciona, mas o segundo sim.

cv1

getClass().getResourceAsStream(): procura o resource no mesmo diretorio do .class.

getClass().getClassLoader().getResourceAsStream(): procura no CLASSPATH.

brlima

“cv”:
getClass().getResourceAsStream(): procura o resource no mesmo diretorio do .class.

getClass().getClassLoader().getResourceAsStream(): procura no CLASSPATH.

Ahhhh…

dieego_

Um post de 8 anos… ajudando até hoje… valeu gente!

getAdicted

Bom dia Diego,

Você poderia, por gentileza, ilustrar o seu exemplo, com código, etc… Obrigado!

[]'s

dieego_

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");

Criado 12 de março de 2004
Ultima resposta 13 de mar. de 2012
Respostas 7
Participantes 5