operação IO com uma classe dentro de uma aplicação web

Pessoal,

Dúvida:
Possuo uma classe que implementa a interface HttpSessionBindListener, e no método valueBound(), eu estou tentando criar
um arquivo para log informando que o objeto foi adicionado como um atributo de Sessão.

Porém estou recebendo um Permission Denied no momento que tento criar o arquivo com “/nomeArquivo.txt”. (com barra).
Sem “/” no início do nome do arquivo, o arquivo é gerado no $CATALINA_HOME.

Se eu coloco “/” no início, não deveria ser considerada a raíz da minha aplicação?

Ambiente utilizado:
WebContainer: Tomcat6
Estrutura de diretórios ( levando em consideração que o $CATALINA_HOME é o diretório base do tomca )t:

[quote]$CATALINA_HOME/webapps/meuprojeto
$CATALINA_HOME/webapps/meuprojeto/WEB-INF
$CATALINA_HOME/webapps/meuprojeto/WEB-INF/classes
$CATALINA_HOME/webapps/meuprojeto/log
[/quote]

Obrigado

Não, a “/” no contexto “file system, qdo se usa a classe File por exemplo” indica a raiz sistema de arquivos no linux é / mesmo no windows é c: ou d: dependendo da configuração do seu windows

procura o método getRealPath(), que retorna o path da sua aplicação a partir do diretório raiz do servidor.

Legal,

Modifiquei minha classe para receber uma referência para o ServletContext e utilizei o método getRealPath do mesmo, passando como
parâmetro o texto “nomeArquivo.txt” sem o barra.

Desta forma recebi o caminho abaixo:
/dados/develop/apache-tomcat-6.0.16/webapps/beerv1/logfile.txt

porém o arquivo continua sendo gravado em:
/dados/develop/apache-tomcat-6.0.16

Porque o arquivo não é gravado no RealPath então? (Desculpem se a pergunta for muito noob)

Obrigado