Caminho Relativ no iReport + Vraptor

Pessoal Bom Dia, tenho o seguinte relatório:

PARA GERAR O PDF COM AS NOTAS FISCAIS
@SuppressWarnings(“unchecked”)
public void geraNf(int numero) throws ClassNotFoundException, SQLException, JRException{
Map parametros = new HashMap();
parametros.put(“numero”, numero);
//parametros.put(“cliente”, cod_cliente);

	String path = getClass().getResource("").getPath();
	
	// compila o relatorio
	JasperReport relatorio = JasperCompileManager.compileReport("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.jrxml");

	// obtem uma conexao JDBC
	Connection con = getConexao();

	//Preencher com os outros atributos
	JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, con);
	
	//JasperPrintManager.printPages(impressao, 0, impressao.getPages().size()-1, false);
	
	
	
	//exibe o resultado da impressao na previsualizacao padrao Swing
	//JasperViewer viewer = new JasperViewer(impressao, true);
	//viewer.show();
	
	
	JasperExportManager.exportReportToPdfFile(impressao, "C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	File arquivo = new File ("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	try{
		Desktop.getDesktop().open(arquivo);
	}catch (Exception e) {

	}
	
}

Que só funciona quando eu passo o caminho absoluto dos arquivos, alguém tem alguma ideia de como fazer isso funcionar com caminho relativo…

Agradeço muito…

Abs…

Ao postar códigos, por favor, use a tag code:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

PARA GERAR O PDF COM AS NOTAS FISCAIS

[code]@SuppressWarnings(“unchecked”)
public void geraNf(int numero) throws ClassNotFoundException, SQLException, JRException{
Map parametros = new HashMap();
parametros.put(“numero”, numero);
//parametros.put(“cliente”, cod_cliente);

	String path = getClass().getResource("").getPath();
	
	// compila o relatorio
	JasperReport relatorio = JasperCompileManager.compileReport("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.jrxml");

	// obtem uma conexao JDBC
	Connection con = getConexao();

	//Preencher com os outros atributos
	JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, con);
	
	//JasperPrintManager.printPages(impressao, 0, impressao.getPages().size()-1, false);
	
	
	
	//exibe o resultado da impressao na previsualizacao padrao Swing
	//JasperViewer viewer = new JasperViewer(impressao, true);
	//viewer.show();
	
	
	JasperExportManager.exportReportToPdfFile(impressao, "C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	File arquivo = new File ("C:\\Users\\Chámam\\workspace\\cepheus\\relatorios\\notaFiscal.pdf");
	try{
		Desktop.getDesktop().open(arquivo);
	}catch (Exception e) {

	}
	
}

[/code]

Corrigi seu post acima para incluir a indentação.

Obrigado Vini pelo apoio, sou novo aqui, e esse problema de caminho relativo está me perseguindo, sei que deve ser algo simples… vc tem alguma ideia de como ajustar isso?

Grato.

Você pode usar o . normalmente.

Agora, o local do caminho “.”, por ser relativo, nem sempre aponta para onde você espera. O ideal é descobrir para onde seu eclipse ou netbeans está apontando imprimindo:

Vini,

utilizei esse método aqui:

e obtive o seguinte resultado :

Tem alguma ideia se preciso configurar algo?

Grato.

Por que você usou o getResource()? Não faz muito sentido imprimir o path do getResource(), já que muitas vezes ele pontará apara arquivos dentro de um .jar

Trabalhar com arquivos é sempre chato. Acho que o mais simples é ao invés do ireport gerar um arquivo você pode manipular direto via stream.

Além disso se você está em um ambiente web isso não vai funcionar: