Localizar arquivo a partir de uma classe

2 respostas
Marques

Lista,

Tenho um aplicativo na seguinte estrutura e preciso, a partir de uma classe no package1 acessar um arquivo txt que está na Pasta1. Como eu especifico o caminho para esse arquivo na minha Classe.java?

Muito obrigado,

Marques.

aplicativo
—> WEB-INF
------> src
----------> java
--------------->package1
----------------------> Classe.java
—> Pasta1
-------> arquivo.txt

2 Respostas

rmarin

Faz o seguinte cria um arquivo e exiba o path dele dentro da sua classe, assim:

System.out.println(new File("").getAbsolutePath());

Depois, com o resultado, você verifica quantos “…/” você terá que adicionar para “alcançar o arquivo”.

Daí fica algo assim:

new File("../../arquivo.txt");

Sacou? Teoricamente você precisaria de 4 “…/”, mas não lembro de cabeça se aplicações WEB começam dentro do pacote ou dentro de WEB-INF, por isso imprima para poder ver. :thumbup:

E

Marques,

Eu tenho por costume deixar os meus arquivos de configuração dentro da pasta classes :wink: , então nesse caso o código ficaria assim:

InputStream inputStream = NomeDaClasseAtual.class.getResourceAsStream("/arquivo.txt");

Dessa forma, independente de onde a sua aplicação esteja instalada, você vai acessar o seu arquivo do mesmo jeito. :lol:
Caso você queira aessar uma pasta de fora, você pode aproveitar a dica do nosso amigo rmarin :smiley: e “subir” um diretório usando o "…/ "antes do nome do arquivo.

Exemplo:

InputStream inputStream = NomeDaClasseAtual.class.getResourceAsStream("../pasta_arquivos/arquivo.txt");

É isso, espero que eu tenha ajudado. :smiley:

Criado 31 de julho de 2006
Ultima resposta 23 de ago. de 2006
Respostas 2
Participantes 3