Nao estou conseguindo pegar o caminho do projeto exemplo quero /src/revistas

o problema acontece quando executo de outro projeto, dai ele pega o caminho do outro projeto, nao?

e tambem imprimi um monte de %%%% no meio da url

Pode postar qual pedaço do teu código imprime isso?

System.out.println(ConstrucaoRevistas.class.getClass().getResource("/").getFile());

imprime:

/C:/Users/maria/Desktop/Kit%20Automatiza%c3%a7%c3%a3o%20de/Eclipse%20Juno%20com%20integra%c3%a7%c3%a3o%20SVN/Reposit%c3%b3rio/Revistas/bin/

deveria pegar o resource/src, nao?

Pelo q entendi vc vem tentando opções diversas e nenhuma realmente funcionou, como estas:

URL resource = classLoader.getResource("/");  
URL resource = SOME_CLASS.class.getResource("/");  
URL resource = this.getClass().getResource("/");  

Fonte: http://www.coderanch.com/t/463550/java/java/determine-current-path-classloader

Está dando NullpointerExceptoin ou vindo o caminho c/ representação porcentagem (ex: %20 q equivale ao espaço)

Dá uma olhada na pasta bin do teu projeto no Eclipse, lá ficam os arquivos java já compilados como .class.

bin é a raiz do teu classpath, e é de lá que o Eclipse roda o teu programa. Note que não existe src dentro desse bin.

Se por exemplo você tiver a classe br.com.minhaempresa.ConstrucaoRevistas, dentro do bin deve ter as pastas br/com/minhaempresa com um ContrucaoRevistas.class dentro dela.

Se você colocar um arquivo texto em bin, tipo bin/texto.txt e você fizer

ConstrucaoRevistas.class.getClass().getResource("/texto.txt"), este pedaço de código vai retornar o URL desse texto.txt

Se você colocar outro arquivo texto, em outro lugar dentro de bin, por exemplo em bin/resources/texto2.txt e fizer:

ConstrucaoRevistas.class.getClass().getResource("/resources/texto2.txt"), ele pega esse texto2.txt

Se você colocar outro arquivo texto, em outro lugar dentro de bin, por exemplo na mesma pasta onde está o teu ConstrucaoRevistas.class:

bin/br/com/minhaempresa/texto3.txt
ConstrucaoRevistas.class.getClass().getResource(“texto3.txt”), ele pega esse texto3.txt. Não precisa colocar a pasta onde ele está por que ele se encontra no mesmo nível do .class.

nao sei mais oque faço quando coloco o exemplo que voce deu em um System.out.print(url); imprime null fiz exatament o que voce pediu

Me diz duas coisas:

  1. Dentro da pasta bin dentro do teu projeto, qual é o caminho (br/uol/…) até chegar ao arquivo .class da classe onde está o teu código?
  2. Voltando para bin, qual o caminho até o arquivo de imagem que você está querendo pegar?

c:/eclipse%20da%20mari/workspace/projeto%20revistasExecucao/bin/br/uol/revistas/Principal.class

c:/eclipse%20da%20mari/workspace/projeto%20revistasExecucao/bin/br/uol/revistas/uolLogo.png

Então tenta o seguinte:

getClass().getResource("/br/uol/revistas/uolLogo.png")

[quote=Bruno Laturner]Então tenta o seguinte:

getClass().getResource("/br/uol/revistas/uolLogo.png")[/quote]

imprimi null

Ok, se isso deu errado, então não tenho mais nenhuma idéia de como arrumar o teu problema :lol:

Vamos lá, esclareçamos as questões:

1 - Exceção Nullpointer neste caso é lançado qdo. não se encontra o arquivo;

2 - Estão aparecendo porcentagem e etc pelo fato de sua workspace o caminho completo possuir espaços e acentos, definitivamente
evite pois já tive problemas de perder horas e no final era um mldt* acento, sério! Hehehe…

E 3 - Recomece passo-a-passo conforme orientamos aqui nos posts q tem de funcionar.

Ok?

[quote=mariazinhahappy] URL Diretorio = this.getClass().getResource("/src/br/uol/revistas/imagens"); System.out.println(Diretorio.getPath());

da nullpointer tambeimn[/quote]O que retorna quando você chama esse mesmo comando passando uma String vazia?

URL Diretorio = this.getClass().getResource(""); System.out.println(Diretorio.getPath());
Aliás, se não me engano, não pode usar o / no início da string (se eu estiver certo, o Java entenderia como C:\src…)

Normalmente não é boa prática apontar para a pasta src dentro do código pois, ao gerar o compilado, essa pasta costuma NÃO acompanhar o sistema.