Diretorio corrente da aplicação

10 respostas
Link_pg

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

10 Respostas

danilomunoz

Olá..
teste o código abaixo:

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();
		}
	}
}

Flw...

Link_pg

vlww ai cara me ajudou muito ^^

abraços

geidivan

Estava atrás disso também.

Valeu.

geidivan

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?

ajfilho

tenta aí:

System.getProperty("user.dir");

Abraços!

geidivan

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

ajfilho

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!

geidivan

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?

tnaires

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

geidivan

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.

Criado 26 de novembro de 2006
Ultima resposta 12 de jan. de 2009
Respostas 10
Participantes 5