File.createTempFile

Amigos,

O método File.createTempFile, da classe File, salva um arquivo qualquer na seguinte pasta

c:\Documents and Settings\USUÁRIO\Configurações Locais\Temp

Supondo claro, que estejamos em ambiente cliente do tipo Windows Xp ou Windows 2000.

Meu problema não tem exatamante a ver com Java. Mas tenho uma classe que dispara esse método File.createTempFile. Ele funciona na maioria dos clientes, mas me deparei com um deles que está fazendo a coisa de forma errada …
Ele está salvando na pasta Configurações Locais\Temp de outro usuário (administrador)!!

Tem cabimento isso? Algum registro furado do Windows?
Alguém saberia ajudar ou sugerir outra maneira de salvar arquivos temporários?

Saudações,
Abrhaão

De fato, o registry do tal usuário que está gravando arquivos no local errado está zoado.

A variável de ambiente que está errada por algum motivo é a variável TEMP. Confira o valor dessa variável.

Ola Abhraao

Sera que a pessoa nao esta rodando a aplicacao como administrador? (run as admnistrator)

[quote=Paulo Silveira]Ola Abhraao

Sera que a pessoa nao esta rodando a aplicacao como administrador? (run as admnistrator)[/quote]

Bingo!

Resolvi o problema agora, eles estão logando agora como usuário normal e tá funfando beleza. Brigadão!

Fora isso…

o File.createTempFile tem bugs e pode ser que o arquivo não seja deletado.
A melhor maneira de fazer isso seria criar um arquivo em qualquer lugar e adicionar a Thread para que seja fechada quando terminar a execução.