Como retornar o caminho onde está "instalada" minha aplicação? [RESOLVIDO]

2 respostas
vini.roggia

Bom dia,

Minha dúvida é a seguinte:
Tenho uma aplicação instalada em uma máquina qualquer, em uma pasta qualquer e gostaria de uma solução para um arquivo texto onde eu pudesse colocar um caminho “relativo” de leitura.

Por exemplo:
Tenho instalado minha aplicação na máquina A, no “D:\Aplicacao” e o arquivo “configuracao.txt” está nesta mesma pasta.
Executo este aplicativo da área de trabalho de uma máquina B que tem um atalho do aplicativo que se localiza na “A” como dito anteriormente.
*A pasta “Aplicacao” esta compartilhada dando total acesso as outras máquias e usuários da rede.
O problema é: Eu poderia ter instalado a aplicação no C:, no D:\AplicacaoComOutroNome e muito mais…
Se eu colocar um caminho absoluto vou ter que sempre instalar na mesma unidade, na mesma pasta e tals para ter acesso a aquele arquivo txt.

Detalhe, é uma aplicação desktop, digo isso porque vi muitas soluções para web.

2 Respostas

vini.roggia

Resolvido com a seguinte linha:

String caminho = System.getProperty("user.dir");

"caminho" conterá o caminho onde está a minha aplicação .JAR, então caso eu queira ler um arquivo de configuração que está na pasta da aplicação basta fazer:

FileReader fr = new FileReader(caminho+"/aplicacao.properties.txt");
                      BufferedReader br = new BufferedReader(fr);

e assim por diante.

marcosharbs
URL u = getClass().getResource("");
System.out.println(u.getPath());

o códifo acima vai lhe imprimir o caminho onde está seu projeto, acho que irá te servir.

Criado 7 de julho de 2009
Ultima resposta 7 de jul. de 2009
Respostas 2
Participantes 2