Sto cercando un modo sicuro per creare un file temporaneo in Java. Per sicuro intendo quanto segue:
- Il nome dovrebbe essere univoco, anche in potenziali condizioni di competizione (ad esempio un altro thread chiama la stessa funzione contemporaneamente o un altro processo esegue questo codice contemporaneamente)
- Il file dovrebbe essere privato, anche in potenziali condizioni di competizione (ad esempio un altro utente tenta di modificare il file ad alta velocità)
- Posso dirgli di cancellare il file, senza che io debba fare una cancellazione generica, e rischiare di cancellare il file sbagliato
- Idealmente, dovrebbe garantire che il file venga eliminato, anche se viene generata un'eccezione prima che ne abbia la possibilità
- Il file dovrebbe essere impostato per impostazione predefinita in una posizione sana (ad esempio, la directory tmp specificata da JVM, impostata come predefinita sulla directory temp di sistema)
File f = File.createTempFile(prefix, extension)
. Verrà inserito nella directory temp. E conf.deleteOnExit()
esso verrà automaticamente eliminato all'uscita.