Método "getResource()" retornando "null"

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

também retornou nulo

img

como esta mostrando na IDE (renomeei o “arquivo.txt” para “a.txt”)

vc ta usando maven//gradle?

nope

Após compilar, o arquivo .txt foi parar dentro da estrutura da pasta build?

tente colocar o /src/ antes

img

-> parece que não

também não deu certo

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

image

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