Estou com um problema no meu código, basicamente quando tento achar um arquivo passando um diretório absoluto pro meio do método getResource() ele retorna null.
assim esta a organização dos pacotes:
=src
==programaTeste
===teste
====arquivo.txt
então quando rodo a linha:
System.out.println(getClass().getResource("/teste/arquivo.txt"));
ele imprime null e não a URL do arquivo.txt, alguém sabe como resolver?
A pasta src é a raiz do seu classpath então o caminho tem que ser "/programaTeste/teste/arquivo.txt".
Mas isso só vai funcionar enquanto executar no sistema de arquivos.
Se colocar seu programa em um JAR, você vai precisar utilizar getResourceAsStream.
assim também ele está retornando nulo
Então quando você está executando o Java o arquivo em questão não está no classpath de sua aplicação.
Como você está compilando e como está executando?
estou usando o Netbeans, não estou compilando nem executando manualmente
Ou invês do getClass(); coloque: (nome da classe).class.getResource("/programaTeste/teste/arquivo.txt");
como esta mostrando na IDE (renomeei o “arquivo.txt” para “a.txt”)
vc ta usando maven//gradle?
Após compilar, o arquivo .txt foi parar dentro da estrutura da pasta build?
FakeDev
Abril 17, 2020, 11:12pm
#12
tente colocar o /src/ antes
Miguel_Avila:
parece que não
Não uso NetBeans, tens que descobrir como adicionar recursos ao classpath do projeto.
Bom, tentei aqui e foi normal.
System.out.println("Mostrar ícone");
System.out.println(JavaApplication2.class.getResource("/programateste/teste/fb.png"));
path
ontem fiquei tentando resolver isso e se compilar e executar manualmente pelo terminal não da esse problema. Acredito que seja alguma configuração do Netbeans mesmo