Início‎ > ‎

Especificar o diretório onde serão criados os arquivos temporários

Em Java, a criação de arquivos temporário pode ser feita pela função java.io.File.createTempFile(). Entretanto, esta função não apresenta garantias quanto à aleatoriedade dos nomes dos arquivos criados, nem quanto à quantidade máxima de arquivos temporários que consegue criar.

Os arquivos temporários são criados no diretório indicado pela propriedade java.io.tmpdir, que corresponde, em geral a /tmp ou /var/tmp em sistemas Unix e a C:\tmp em sistemas Windows. Na maioria dos sistemas, estes diretórios são acessíveis a todos os usuários, que poderiam ter acesso aos arquivos temporários criados. Recomenda-se que a chamada à função java.io.File.createTempFile() passe como parâmetro o nome de um diretório protegido onde os arquivos devam ser criados. Este diretório deve ser acessível apenas à aplicação, para evitar que outros usuários e/ou aplicações sejam capazes de acessar os arquivos temporários. As recomendações do item Proteger os arquivos criados também são aplicáveis a arquivos temporários.

Outra solução é alterar a propriedade java.io.tmpdir utilizando a chamada System.setProperty(). ATENÇÃO: se a propriedade java.io.tmpdir for alterada, o diretório será utilizado por toda a aplicação. Se houver necessidade de criar diretórios temporários separados para partes da aplicação, o diretório deve ser especificado na chamada a java.io.File.createTempFile().

Comments