Diretorio corrente da aplicação

ola!

estou fazendo alguns relatórios e preciso indicar o caminho do arquivo .jasper
preciso saber como indicar o diretório corrente da aplicação pois a ela rodará em plataformas diferentes então não posso colocar o caminho absoluto do arquivo (“C:\blabla\blabla\…”)
no caso esta assim

SISTEMA

  • apresentacao
    formQueChamaRelatorio
  • negocios
  • persistencia
  • relatorios
    relatorioQuePrecisaSerChamado.jasper

ja tentei de varias formas e so roda com o caminho completo
desde ja obrigado

Olá…
teste o código abaixo:

[code]
import java.io.File;
import java.io.IOException;

public class Main {
public static void main(String[] args) {
try {
System.out.println("/ -> " + new File("/").getCanonicalPath());
System.out.println("… -> " + new File("…").getCanonicalPath());
System.out.println(". -> " + new File(".").getCanonicalPath());
} catch (IOException e) {
e.printStackTrace();
}
}
}[/code]

Flw…

vlww ai cara me ajudou muito ^^

abraços

Estava atrás disso também.

Valeu.

Opa, só tem um probleminha. Nenhum desses exemplos mostra o diretório corrente.

O ponto mostra um diretório acima, o dois pontos pois diretórios acima, mas o barra está mostrando a raiz do SO, no meu caso o C: .

Como faço para ver o diretório corrente exato?

tenta aí:

 System.getProperty("user.dir");

Abraços!

Não deu também ajfilho.

Meu projeto está no diretorio c:\projects\teste\teste. Dentro deste diretorio teste tem alguns arquivos, imagens, documentos, etc. Essa pasta teste dentro da pasta teste é o meu projeto em si, com o src, lib, etc.

Quando for criar um instalador pra ele, a minha classe deve ser capaz de pegar o nome desta pasta, no caso a pasta dist para ler um arquivo de propriedades.

Como faço? Essa função que me passou está retornando c:\projects\teste

Pode estar conflitando o diretório com o nome do projeto.

Já tentaste renomear teu projeto?

Se tens um projeto no caminho c:/geidivan-teste/Teste21, onde Teste21 é o nome do projeto, quando usar esse comando, irá retornar esse caminho acima.

Abraços!

Engraçado.

Mudei o nome da pasta superior, limpei e construi o projeto e o programa continua buscando o caminho de antes.

Agora ficou c:\projects\aplicacao\teste. Mandei imprimir o diretório e ainda tá procurando c:\projects\teste e dá uma mensagem de erro de diretório inválido.

O que pode ser isso?

Estranho, fiz o teste aqui e o ponto mostra o diretório corrente.

Consegui pessoal.

O problema estava nas propriedades do projeto. Fui na opção Executar e no campo Diretório de trabalho alterei o caminho que estava fixo para “.” , depois rodei e beleza.

Valeu pessoal.