Erro ao gerar arquivo texto

Olá pessoal,

Bom, eu estou usando o seguinte codigo pra gerar um arquivinho de texto (a partir de um Servlet).

[code] FileWriter writer = new FileWriter("…/…/arquivos/meuArquivo.txt");
PrintWriter saida = new PrintWriter(writer);

         saida.println(conteudoArquivo);

     saida.close();
     writer.close();

[/code]

conteudoArquivo é uma String.

A questão é: quando eu compilo a servlet, restarto o tomcat funciona beleza, o arquivo é gerado.

Mas se eu reiniciar o tomcat aí da :

 ../../arquivos/meuArquivo.txt (No such file or directory) 

Mesmo sem eu mexer em nada…e se eu compilar de novo (sem mexer em uma linha sequer) e rodar, funciona…

Alguem sabe porque acontece isso?

Obrigado

Hum, não sei se é um erro, mas normalmente para conseguir o caminho relativo de algum diretório a partir de alguma classe Java, faz-se:

// o caminho começa a partir do diretório da classe
getClass().getResoueceAsStream( String path );

// o caminho começa a partir do diretório da aplicação
getClass().getClassLoader().getResoueceAsStream( String path );

Tente desta forma.

Olá LIPE, obrigado pela resposta!

Eu tava tentando assim (nome é o uma String com caminho + nome do arquivo)

[code] File arquivo = new File(nome);

		if(arquivo.exists()){
			
			arquivo.delete();
			arquivo.createNewFile();
			
		}else{
			
			arquivo.createNewFile();
			
		}
		
	        FileWriter writer = new FileWriter(arquivo);
		PrintWriter saida = new PrintWriter(writer);
		 			                 
	       saida.println(conteudo);

		saida.close();
		writer.close();[/code]

e funcionou sem problemas
ja reiniciei o tomcat umas 5 vezes pra testar e todas deram certo…

Mas vou testar da maneira que você me passou tambem, obrigado

Rodrigo

Olá,

O problema de usar o caminho hardcode é que se por algum motivo tu mudar o diretorio da aplicação terá que recompilar tudo. Fazendo como o LIPE mostrou não terá esse problema.

]['s