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